Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 每次使用tkinter在选项菜单上选择特定选项时打开弹出窗口_Python_Tkinter_Tkinter Menu - Fatal编程技术网

Python 每次使用tkinter在选项菜单上选择特定选项时打开弹出窗口

Python 每次使用tkinter在选项菜单上选择特定选项时打开弹出窗口,python,tkinter,tkinter-menu,Python,Tkinter,Tkinter Menu,在下拉/选项菜单上,每次选择一个选项时,屏幕上都会显示一个弹出窗口。这个弹出窗口是另一个窗口 创建弹出窗口的函数 def警报_弹出窗口(): root=Tk() 根标题(“标题”) sw=root.winfo_屏幕宽度() sh=root.winfo_屏幕高度() root.geometry(“%dx%d+%d+%d%”(sw/2,sh/2,sh/2,sw/2)) w=标签(根,文本=”,宽度=120,高度=10) w、 网格() b=按钮(根,text=“OK”,命令=root.destroy

在下拉/选项菜单上,每次选择一个选项时,屏幕上都会显示一个弹出窗口。这个弹出窗口是另一个窗口

创建弹出窗口的函数 def警报_弹出窗口(): root=Tk() 根标题(“标题”) sw=root.winfo_屏幕宽度() sh=root.winfo_屏幕高度() root.geometry(“%dx%d+%d+%d%”(sw/2,sh/2,sh/2,sw/2)) w=标签(根,文本=”,宽度=120,高度=10) w、 网格() b=按钮(根,text=“OK”,命令=root.destroy,宽度=10) b、 网格() #代码以选择选项并显示弹出窗口 drop=选项菜单(根目录、单击、*选项) 下降网格(pady=10) 打印(单击.get()) def changed(): 打印(单击.get()) 单击。跟踪(“w”,已更改) #每次我选择此特定选项时,弹出窗口都会打开 如果(单击.get()=“特定选项”): 警报弹出窗口()
在函数中移动if语句。您错过了弹出函数中的
root.mainloop()
。@MartinWettstein假设OP在其代码末尾(在全局范围内)有
.mainloop()
,则函数中需要
.mainloop()
。要了解更多信息,请看我问的问题,它不仅仅是一个新的顶级,它是一个完全不同的Tk实例。我不认为第一个窗口的主循环涵盖了这一点。更糟糕的是,这两个实例都被称为
root
@MartinWettstein。令人惊讶的是,一个简单的
.mainloop()
覆盖了所有
Tk()
窗口,包括新创建的窗口。你看过我发给你的链接了吗?我想您会发现运行代码并亲自查看它很有趣