Eat*_*les 17 python row tkinter
我刚刚编写了一个代码来创建一个窗口(使用TKinter)并显示一个工作按钮.
b = Button(master, text="get", width=10, command=callback)
Run Code Online (Sandbox Code Playgroud)
但我想在这个下面有多个按钮.
如何设置按钮的行和列?我试图添加,row = 0, column = 0,但这不起作用.
谢谢
Bry*_*ley 49
导致小部件出现需要您使用Tkinter所谓的"几何管理器"来定位它.这三位经理是网格,包装和地方.每个人都有优点和缺点.这三个管理器在所有小部件上实现为方法.
格,顾名思义,是非常适合在网格铺设的小部件.您可以指定行和列,行和列跨度,填充等.
例:
b = Button(...)
b.grid(row=2, column=3, columnspan=2)
Run Code Online (Sandbox Code Playgroud)
pack使用一个盒子比喻,让你沿容器的一侧"打包"小部件.pack非常适合所有垂直或全水平布局.例如,小工具在水平线上对齐的工具栏是使用pack的好地方.
例:
b = Button(...)
b.pack(side="top", fill='both', expand=True, padx=4, pady=4)`
Run Code Online (Sandbox Code Playgroud)
place是使用最少的几何管理器.使用位置指定小部件的确切x/y位置和精确宽度/高度.它具有一些很好的功能,例如能够使用绝对坐标或相对坐标(例如:您可以将小部件放置在10,10或小部件宽度或高度的50%处).
与gridand 不同pack,使用place不会导致父窗口小部件展开或折叠以适合放置在其中的所有窗口小部件.
例:
b = Button(...)
b.place(relx=.5, rely=.5, anchor="c")
Run Code Online (Sandbox Code Playgroud)
使用这三个几何管理器,您可以完成您可以想象的任何类型的布局.
Car*_*to_ 16
astynax是对的.按照你给出的例子:
MyButton1 = Button(master, text="BUTTON1", width=10, command=callback)
MyButton1.grid(row=0, column=0)
MyButton2 = Button(master, text="BUTTON2", width=10, command=callback)
MyButton2.grid(row=1, column=0)
MyButton3 = Button(master, text="BUTTON3", width=10, command=callback)
MyButton3.grid(row=2, column=0)
Run Code Online (Sandbox Code Playgroud)
应该创建3行按钮.使用网格比使用包更好.但是,如果您在一个按钮上使用网格并在另一个按钮上打包它将无法正常工作,您将收到错误.
| 归档时间: |
|
| 查看次数: |
85378 次 |
| 最近记录: |