我想在 tk 窗口中展示 PDF 文件,但该窗口未打开并且没有引发异常
将 tkinter 导入为 tk 从 tkPDFViewer 将 tkPDFViewer 导入为 pdf
cur_file='PPC_Bach.Eng_.-de-Computacao_AGES_Jacobina.pdf'
尝试: 新窗口 = tk.Tk() pdf.ShowPdf().pdf_view(newWindow,pdf_location=cur_file,宽度=75,高度=100).pack() 除了异常 e: 打印(e)
看起来您正在尝试使用
tkPDFViewer
库在 Tkinter 窗口中显示 PDF 文件。但是,窗口没有打开,也没有引发异常。
tkPDFViewer
库。tkPDFViewer
库是否与您的Python和Tkinter版本兼容。这是您的代码的更新版本,其中包含以下注意事项:
import tkinter as tk
from tkPDFViewer import tkPDFViewer as pdf
cur_file = 'PPC_Bach.Eng_.-de-Computacao_AGES_Jacobina.pdf'
try:
# Create the main window
newWindow = tk.Tk()
# Set the window title
newWindow.title("PDF Viewer")
# Display the PDF
v1 = pdf.ShowPdf().pdf_view(newWindow, pdf_location=cur_file, width=75, height=100)
v1.pack()
# Start the Tkinter main loop
newWindow.mainloop()
except Exception as e:
print(e)
newWindow.mainloop()
方法启动 Tkinter 事件循环,这是窗口保持打开状态并响应用户交互所必需的。pdf_view
的结果分配给变量(v1
)可确保Tkinter正确管理该小部件。检查文件路径:确保文件路径正确且文件存在。您可以使用以下代码来检查文件是否存在:
import os
if not os.path.exists(cur_file):
print(f"File not found: {cur_file}")
打印库版本:打印
tkPDFViewer
的版本以确保其安装正确:
print(pdf.__version__)
在单独的脚本中运行:尝试在单独的脚本中运行 PDF 查看器以隔离问题:
import tkinter as tk
from tkPDFViewer import tkPDFViewer as pdf
cur_file = 'PPC_Bach.Eng_.-de-Computacao_AGES_Jacobina.pdf'
if not os.path.exists(cur_file):
print(f"File not found: {cur_file}")
exit(1)
newWindow = tk.Tk()
newWindow.title("PDF Viewer")
v1 = pdf.ShowPdf().pdf_view(newWindow, pdf_location=cur_file, width=75, height=100)
v1.pack()
newWindow.mainloop()
通过执行这些步骤,您应该能够识别并解决阻止 Tkinter 窗口打开的问题。