我是Tkinter的新手,我想创建一个“表单”(我真的不知道怎么称呼它)来写入数据库。我受够了,但是因为布局的关系我被搞糊涂了。你知道吗
我有这样一个代码组成“表单”:
self.parent.title("Pozi")
self.pack(fill = BOTH, expand=True)
frame1 = Frame(self)
frame1.pack(side = LEFT)
lbl1 = Label(frame1, text = "ĂtadĂł kártyája", width = 15)
lbl1.pack(side = TOP, padx=5)
atadoText = StringVar()
atadoText.set('')
self.entry1 = Entry(frame1, textvariable=atadoText)
self.entry1.pack(side = BOTTOM, padx=5)
atadoText.trace('w',atado_enter)
self.atadoText = atadoText
self.entry1.focus()
frame2 = Frame(self)
frame2.pack(side = RIGHT)
lbl2 = Label(frame2, text = "ĂtvevĹ‘ kártyája", width = 15)
lbl2.pack(side = TOP, padx=5, expand=True)
atvevoText = StringVar()
atvevoText.set('')
self.entry2 = Entry(frame2, textvariable = atvevoText)
self.entry2.pack(side = BOTTOM, padx=5)
atvevoText.trace('w', atvevo_enter)
self.atvevoText = atvevoText
frame3 = Frame(self)
frame3.pack(side = RIGHT)
lbl3 = Label(frame3, text = "ĂrvevĹ‘ kártyája", width = 15)
lbl3.pack(side = TOP, padx=5, expand=True)
lblText = StringVar()
lblText.set('')
self.entry3 = Entry(frame3, textvariable = lblText)
self.entry3.pack(side = TOP, padx=5, expand=True)
lblText.trace('w', lbl_count)
self.lblText = lblText
lbl4 = Label(frame3, text = "Title", width = 15)
lbl4.pack(side = TOP, anchor=N, padx=5, pady=5)
self.txt = Text(frame3)
self.txt.pack(fill = BOTH, side = TOP, padx=5, pady=5, expand=True)
首先,不要害怕在google上搜索pack manager,尤其是搜索packer algorithm,然后试着理解为什么你会得到你所得到的。你知道吗
由于
pack
逻辑中的相关性,对于初学者来说控制小部件的水平和垂直位置不是一件容易的事情。因此,请记住“分而治之”的原则,并将您的程序布局视为一组块,在其中任何一个块中,我们都按水平顺序或垂直顺序放置小部件,而不进行混合。你知道吗考虑一下你的布局,它看起来像:
其中每个红块都是一个
Frame
小部件+Root
(或“主”Frame
,可以随意创建一个)和一个下订单。你知道吗要表示类似的内容,请尝试以下代码段:
另外,记住,还有一个grid经理!使用此管理器,您可以将布局视为一个表,因此也可以尝试一下!你知道吗
相关问题 更多 >
编程相关推荐