我想使用网格来显示pdf,但它显示错误,无法使用几何管理器包里面。它已经有了由网格管理的slaves。
from tkinter import *
from tkPDFViewer import tkPDFViewer as pdf
mys = Tk()
mys.title("Mystery Books")
mys.config(bg='white')我在dead函数中从pack()更改为grid(),但仍然有一些东西我无法找到,可以更改为grid ()。
def dead():
root = Toplevel()
root.geometry("550x750")
v1 = pdf.ShowPdf()
v2 = v1.pdf_view(root,pdf_location=r"C:\\Users\\mande\\Desktop\\Books\\Mystery\\Dead Until Dark.pdf")
v2.grid()
root.mainloop()
button_dead = Button(mys, text="Dead until Dark", font=30, padx=15, pady=15, height=2, width=12, command=dead,fg="black", bg="white", borderwidth=5)
button_dead.grid(row=1, column=0, padx=7, pady=7)
mys.mainloop()发布于 2021-10-11 09:21:42
这是tkPDFViewer的一个错误。查看tkPDFViewer的代码
class ShowPdf():
...
def pdf_view(self,master,width=1200,height=600,pdf_location="",bar=True,load="after"):
...
if bar==True and load=="after":
self.display_msg = Label(textvariable=percentage_load) # this will create the label in root window instead of its frame
self.display_msg.pack(pady=10) # this will raise exception if widgets in root window are using `grid()`
...要跳过该错误,请在调用pdf_view(...)时传递bar=False或load=""
v2 = v1.pdf_view(root,
pdf_location=r"C:\\Users\\mande\\Desktop\\Books\\Mystery\\Dead Until Dark.pdf",
bar=False) # set bar=False请注意,上述更改将禁用进度条。
https://stackoverflow.com/questions/69523431
复制相似问题