Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.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_User Interface_Tkinter - Fatal编程技术网

Python 如何在tkinter中的给定帧中放置按钮?

Python 如何在tkinter中的给定帧中放置按钮?,python,user-interface,tkinter,Python,User Interface,Tkinter,在这里,我需要将按钮放在homeFrame中。但是我不能把按钮放在那里。有什么问题吗?请解决它。这是代码 from tkinter import * root = Tk() root.state('zoomed') root.configure(bg='#498240') screen_width = root.winfo_screenwidth() screen_height = root.winfo_screenheight() headFrame = Frame(root,widt

在这里,我需要将按钮放在homeFrame中。但是我不能把按钮放在那里。有什么问题吗?请解决它。这是代码

from tkinter import *


root = Tk()
root.state('zoomed')
root.configure(bg='#498240')

screen_width = root.winfo_screenwidth()
screen_height = root.winfo_screenheight()

headFrame = Frame(root,width=screen_width,height=120,bd=10,bg='#498240',relief=RIDGE).grid(row=0,column=0)
headlable = Label(headFrame,text='Super Market',fg='white',bg='#498240',font=('times new roman',55,'bold')).grid(row=0,column=0)

homeFrame = Frame(root,width=screen_width,height=screen_height-200,bd=10,bg='#498240',relief=RIDGE).grid(row=1,column=0)
homeBtn = Button(homeFrame,text='Customer Management').grid(row=0,column=0)


root.mainloop()

截图:


这里我提到了按钮的位置,请帮助我将按钮放在那里。

您已经陷入了创建小部件并在同一行上使用网格的标准陷阱

像这样把他们分开

homeFrame = Frame(root,width=screen_width,height=screen_height-200,bd=10,bg='#498240',relief=RIDGE)
homeFrame.grid(row=1,column=0)
homeBtn = Button(homeFrame,text='Customer Management')
homeBtn.grid(row=0,column=0)
如果你这样做

homeFrame = Frame(root).grid()
homeFrame将包含“None”,并且您尝试放置在“None”中的任何小部件都将以root作为其父级。但如果你这样做了

homeFrame = Frame(root)
homeFrame将包含一个tkinter框架的有效实例,可以在其中放置小部件

教训是,在使用grid/pack/place时,您不应该在同一行上创建小部件(除非您不再引用该小部件)


另外,tkinter框架将自动重新调整大小以适合任何子窗口小部件,您可以通过遵循此问题的指导来强制它不这样做

您已经陷入了创建窗口小部件并在同一行上使用网格的标准陷阱

像这样把他们分开

homeFrame = Frame(root,width=screen_width,height=screen_height-200,bd=10,bg='#498240',relief=RIDGE)
homeFrame.grid(row=1,column=0)
homeBtn = Button(homeFrame,text='Customer Management')
homeBtn.grid(row=0,column=0)
如果你这样做

homeFrame = Frame(root).grid()
homeFrame将包含“None”,并且您尝试放置在“None”中的任何小部件都将以root作为其父级。但如果你这样做了

homeFrame = Frame(root)
homeFrame将包含一个tkinter框架的有效实例,可以在其中放置小部件

教训是,在使用grid/pack/place时,您不应该在同一行上创建小部件(除非您不再引用该小部件)


PS,tkinter框架将自动重新调整大小以适合任何子部件,您可以按照此问题的指导来强制它不这样做@Atlas435我已经搜索了所有地方,但无法解决您能否解决此问题请!你介意解释一下这个问题吗。“那么OP就能够理解他做错了什么?”Atlas435解释道。还有头框。“斯塔克留下的是一个不完整的解决方案,需要Xor96来解决。你介意解释一下这个问题吗?”。“那么OP就能够理解他做错了什么?”Atlas435解释道。还有头架。“斯塔克离开时是一个不完整的解决方案,需要Xor96来解决。