Python 3.x Tkinter按钮“;单击框";在全屏模式下与小部件分离

Python 3.x Tkinter按钮“;单击框";在全屏模式下与小部件分离,python-3.x,user-interface,tkinter,Python 3.x,User Interface,Tkinter,我在MacOS 10.15.7上,刚刚发现当我运行我的应用程序时,无论窗口有多大,按钮都能正常工作。然而,当我使窗口进入全屏模式时,按钮在窗口小部件显示位置下方约20像素的框内注册单击。还有其他人遇到过这个问题吗?我使用的是网格几何体管理器,带有sticky=“we”,因此我认为添加按钮的方式不是问题所在。我还对应用程序的每一行调用了grid\u rowconfigure(I,weight=1),以便在拉伸时执行适当的垂直对齐 下面是一个小片段,展示了我是如何构建应用程序的 将tkinter作为

我在MacOS 10.15.7上,刚刚发现当我运行我的应用程序时,无论窗口有多大,按钮都能正常工作。然而,当我使窗口进入全屏模式时,按钮在窗口小部件显示位置下方约20像素的框内注册单击。还有其他人遇到过这个问题吗?我使用的是网格几何体管理器,带有
sticky=“we”
,因此我认为添加按钮的方式不是问题所在。我还对应用程序的每一行调用了
grid\u rowconfigure(I,weight=1)
,以便在拉伸时执行适当的垂直对齐

下面是一个小片段,展示了我是如何构建应用程序的

将tkinter作为tk导入,tkinter.ttk作为ttk导入
类应用程序(tk.tk):
定义初始化(自):
super()。\uuuu init\uuuuu()
容器=ttk.帧(自身)
container.pack(fill='both',expand=True)
self.frames={}
对于帧输入(仪表板,第一页,第二页,第三页):
f=框架(容器,自身)
self.frames[frame]=f
f、 网格(列=0,行=0,sticky=“nswe”)
自我切换页面(仪表板)
def开关_页面(自身,框架):
f=自帧[帧]
f、 tkraise()
类仪表板(ttk.Frame):
定义初始化(自、主、控制器):
超级()。\uuuu初始化\uuuuu(主)
self.master=master
button1=ttk.Button(self,text=“第一页”,
命令=lambda:controller.switch_第页(第一页))
button1.grid(列=1,行=0,sticky=“we”)
button2=ttk.Button(self,text=“第二页”,
命令=lambda:controller.switch_页面(第二页))
button2.grid(列=1,行=1,sticky=“we”)
button3=ttk.Button(self,text=“第三页”,
命令=lambda:controllerswitch_第页(第三页))
button3.grid(列=1,行=2,sticky=“we”)
ttk.Label(self).grid(列=0,行=0,行跨度=3)
ttk.Label(self).grid(列=2,行=0,行跨度=3)
类第一页(ttk.Frame):
定义初始化(自、主、控制器):
超级()。\uuuu初始化\uuuuu(主)
self.master=master
ttk.按钮(self,text=“返回主页”,
command=lambda:controller.switch\u页面(仪表板)
).pack()
类第二页(ttk.Frame):
定义初始化(自、主、控制器):
超级()。\uuuu初始化\uuuuu(主)
self.master=master
ttk.按钮(self,text=“返回主页”,
command=lambda:controller.switch\u页面(仪表板)
).pack()
课堂第三页(ttk.框架):
定义初始化(自、主、控制器):
超级()。\uuuu初始化\uuuuu(主)
self.master=master
ttk.按钮(self,text=“返回主页”,
command=lambda:controller.switch\u页面(仪表板)
).pack()

另外,我意识到我注释掉了对
grid.row\u configure
的调用,因此我认为这不是问题的原因。同样,这个问题一般不会发生在应用程序上,只有当我单击窗口上的全屏按钮时才会发生。

请给我们举一个最小的例子。@jizhaosama我已经更新了这个问题,以包括我的应用程序结构的一个例子