我试图用网格布局来制作这个简单的图形用户界面,我在一行中有一个标签、一个条目和一个按钮,但由于某些原因,第一个按钮总是将行跨度等于前一列中的行数,即使我试图强制它具有行跨度1,它也没有任何效果,这让我很困惑。在
import tkinter as tk
class MainApplication(tk.Frame):
def __init__(self, parent):
tk.Frame.__init__(self, parent)
self.grid()
#LABELS
self.l1 = tk.Label(self, text = "Source")
self.l1.grid(column = 0, row = 0, sticky = "E")
self.l2 = tk.Label(self, text = "Text files destination")
self.l2.grid(column = 0, row = 1, sticky = "E")
self.l3 = tk.Label(self, text = "Image files destination")
self.l3.grid(column = 0, row = 2, sticky = "E")
#ENTRIES
self.e1 = tk.Entry(self)
self.e1.grid(column = 1, row = 0)
self.e2 = tk.Entry(self)
self.e2.grid(column = 1, row = 1)
self.e3 = tk.Entry(self)
self.e3.grid(column = 1, row = 2)
#BUTTONS
self.b3 = tk.Button(text = "Select dir", command = self.cb2)
self.b3.grid(column = 2, row = 0)
self.b4 = tk.Button(text = "Select dir", command = self.cb2)
self.b4.grid(column = 2, row = 1)
self.b5 = tk.Button(text = "Select dir", command = self.cb2)
self.b5.grid(column = 2, row = 2)
if __name__ == "__main__":
root = tk.Tk()
app = MainApplication(root)
root.mainloop()
您没有为按钮指定父级,因此它们的父级是根窗口。另一方面,标签和条目的父属性设置为帧。结果是在根中,帧在第0行,第一个按钮在第0行,行的高度由帧的高度决定。在
解决方案是使按钮的父级成为框架。在
相关问题 更多 >
编程相关推荐