![](/img/trans.png)
[英]Why can't you use the function 'pack' and the 'grid in the same code
[英]Why can't I use the grid function?
我无法在 Mac 上的 Python 3 中使用 Tkinter 中的grid
函数。 每当我尝试运行它时,IDLE 停止响应,我必须退出它,但是当我使用.pack()
函数时它运行良好。
from tkinter import *
class MainWindow:
def __init__(self):
window = Tk()
frame = Frame(window, width=600, height=800)
frame.pack(expand=True)
btframe = Frame(window)
btframe.pack(side=BOTTOM, expand=True)
self.intro = Label(frame, text="Welcome to your personal email client", font =("Courier", 20, "bold"))
self.name = Label(frame, text="\nName",foreground="red", font=("Helvetica",16,"bold"))
self.password = Label(frame, text="\nPassword", foreground="blue", font=("Helvetica",16,"bold"))
self.entry1 = Entry(frame)
self.entry2 = Entry(frame)
self.intro.pack()
self.name.grid(row=1, column=2)
self.entry1.grid(row=1, column=3)
self.password.grid(row=3, column=2)
self.entry2.grid(row=3, column=3)
self.submitB = Button(btframe, text="Submit", command= self.display)
self.quitB = Button(btframe, text="Quit", command=window.destroy)
self.submitB.pack()
self.quitB.pack()
window.mainloop()
def display(self):
print("Submitted Succesfully")
MainWindow()
这是因为您试图在共享同一父级的小部件上使用grid
和pack
。 具体来说,您将pack
用于self.intro
和 grid 用于self.name
但它们都共享frame
的公共父级。
使用其中之一,而不是两者。 您可以同时使用两者,但前提是小部件不共享公共父级。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.