Python 如何在Tkinter中定位?

Python 如何在Tkinter中定位?,python,tkinter,Python,Tkinter,我是Tkinter的新手,我想创建一个“表单”(我真的不知道如何调用它),它可以写入数据库。我受够了,但是因为布局的原因我被搞糊涂了 我有一个代码,它构成了“表单”: 它创建了如下内容: 我想要像这样的东西。但我欣赏每一个想法: 首先,不要害怕在谷歌上搜索,尤其是在谷歌上搜索,然后试着理解为什么你会得到你所得到的 由于pack逻辑的相关性,对于初学者来说,控制小部件的水平和垂直定位不是一件容易的事情。因此,请记住“分而治之”的原则,并将您的程序布局视为一组块,在其中的任何一个块中,我们将小部件

我是Tkinter的新手,我想创建一个“表单”(我真的不知道如何调用它),它可以写入数据库。我受够了,但是因为布局的原因我被搞糊涂了

我有一个代码,它构成了“表单”:

它创建了如下内容:

我想要像这样的东西。但我欣赏每一个想法:

首先,不要害怕在谷歌上搜索,尤其是在谷歌上搜索,然后试着理解为什么你会得到你所得到的

由于
pack
逻辑的相关性,对于初学者来说,控制小部件的水平和垂直定位不是一件容易的事情。因此,请记住“分而治之”的原则,并将您的程序布局视为一组块,在其中的任何一个块中,我们将小部件按水平顺序或垂直顺序放置,而不进行混合

考虑您的布局,它看起来像:

如果每个红色块是一个带有一个下单的
框架
小部件+
(或“主”
框架
,请随意创建一个)

要表示类似的内容,请尝试以下代码段:

try:
    import tkinter as tk
except ImportError:
    import Tkinter as tk

root = tk.Tk()

frame1 = tk.Frame()
frame1.pack()

for _ in range(2):
    i_frame = tk.Frame(frame1)

    label = tk.Label(i_frame, text='Sample%d' % _)
    label.pack(padx=200)

    entry = tk.Entry(i_frame)
    entry.pack(padx=200)

    i_frame.pack(side='left', ipady=25)

frame2 = tk.Frame()
frame2.pack()

label = tk.Label(frame2, text='Sample3')
label.pack()

entry = tk.Entry(frame2)
entry.pack()

label = tk.Label(frame2, text='Title', width=15)
label.pack()

txt = tk.Text(frame2)
txt.pack()

root.mainloop()

还有,记住,有个经理!使用此管理器,您可以将布局视为一个表,所以也可以尝试一下

我不确定,你知道“分而治之”的真正含义,但我感谢你的回应。我可以用它解决我的问题。感谢电网经理,我以前从未听说过。
try:
    import tkinter as tk
except ImportError:
    import Tkinter as tk

root = tk.Tk()

frame1 = tk.Frame()
frame1.pack()

for _ in range(2):
    i_frame = tk.Frame(frame1)

    label = tk.Label(i_frame, text='Sample%d' % _)
    label.pack(padx=200)

    entry = tk.Entry(i_frame)
    entry.pack(padx=200)

    i_frame.pack(side='left', ipady=25)

frame2 = tk.Frame()
frame2.pack()

label = tk.Label(frame2, text='Sample3')
label.pack()

entry = tk.Entry(frame2)
entry.pack()

label = tk.Label(frame2, text='Title', width=15)
label.pack()

txt = tk.Text(frame2)
txt.pack()

root.mainloop()