tkinter - Python tkinter 在做某事成功后进入新的页面框架应用程序崩溃了
问题描述
尝试执行 card_pay() 方法,成功后进入新的 Page_6(Frame) ,另外我设置了一个按钮点击到下一页,按钮 Next_Page() 正在工作,但是方法 card_pay 失败,会导致应用程序崩溃。以下是我更改页面的方法。
self.page_6 = Page_6(self.root)
self.pack_forget()
self.page_6.pack()
我的代码:
class Page_5(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self.root = master
self.createPage()
def createPage(self):
search_card=True
Page_Image = Image.open('D:/API_nomal/page_image/5.png')
Page_Image_PIL=ImageTk.PhotoImage(Page_Image)
Button_Image = Image.open('D:/API_nomal/page_image/confirm.png')
Button_Image_PIL=ImageTk.PhotoImage(Button_Image)
label=Label(self,image=Page_Image_PIL)
label.image=Page_Image_PIL
button_pay=Button(self,image = Button_Image_PIL,command=lambda: self.Next_Page(),border='0',bg='white', takefocus = 0)
button_pay.image=Button_Image_PIL
button_pay.place(x=877, y=895)
label.grid(row=0, column=0)
car_pay_thread = Thread(target=self.card_pay)
car_pay_thread.start()
def card_pay(self):
global search_card
while debug_flag==True:
try:
if search_card== True:
self.page_6 = Page_6(self.root)
self.pack_forget()
self.page_6.pack()
except Exception as e :
print traceback.format_exc()
def Next_Page(self):
self.page_6 = Page_6(self.root)
self.pack_forget()
self.page_6.pack()
class Page_6(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self.root = master
self.createPage()
def createPage(self):
Page_Image = Image.open('D:/API_nomal/page_image/6.png')
Page_Image_PIL=ImageTk.PhotoImage(Page_Image)
label=Label(self,image=Page_Image_PIL)
label.bind("<Button-1>",lambda e=Page_Image_PIL:self.Next_Page())
label.pack()
def Next_Page(self):
self.inital_page = Initial_Page(self.root)
self.pack_forget()
解决方案
推荐阅读
- stream - 多个一元 rpc 调用与 grpc 中长时间运行的双向流式传输?
- c# - C#如何使用字符串根据保存的属性设置设置组合框值
- c - 混合 Swift 和 C:如何以最简单的方式在 Swift 函数中将 C 函数声明为参数
- database - 我需要显示 pinjaman_id 表格中的所有数据,但只显示每个 pinjaman_id 表格数据库中的最后一个数据
- java - 为 Lambda 铸造:BiConsumer
- spring - 是否可以使用 Spring ApplicationContext 中的 bean 参数化 JUnit Jupiter 测试?
- spring-boot - 注册/导入旧用户时无法重复使用现有的 BCrypted 密码
- javascript - TypeError:无法使用事件读取未定义的属性“setState”
- mysql - 如果 MySql 不存在,如何创建分区?
- mysql - mysql使用返回x行的子查询更新或插入另一个表