python - 将小部件放在窗口上(使用 tkinter)

标签 python linux ubuntu user-interface tkinter

我正在尝试使用 tkinter 库为我的程序创建界面。

我的界面应该是这样的

按钮 1

按钮 2

按钮 3

B.pack(side = "left", padx = 00, pady = 0)
C.pack(side = "left", padx = 100, pady = 100)
D.pack(side = "left", padx = 50, pady = 120)

我已经尝试更改 padx 和 pady 的参数, 但它仍然出现在同一行中。我使用的是 ubuntu 13.04 操作系统

如何设置参数得到想要的格式

提前致谢..:)

最佳答案

您可以通过三个简单的步骤解决您的问题。首先,删除所有 padx,因为它们会使按钮不对齐。其次,使用 anchor = "w" 使按钮左对齐。第三,将 side 设置为 "top" 以便按钮垂直放置而不是水平放置。 (但是,由于 side 默认为“top”,您可以将其完全删除)。下面是固定的脚本:

from Tkinter import Tk, Button

root = Tk()

B = Button(root, text="BUTTON1")
C = Button(root, text="BUTTON2")
D = Button(root, text="BUTTON3")

B.pack(anchor = "w", pady = 0)
C.pack(anchor = "w", pady = 100)
D.pack(anchor = "w", pady = 120)

root.mainloop()

另一种方法是使用 grid 方法代替 pack:

from Tkinter import Tk, Button, W

root = Tk()

B = Button(root, text="BUTTON1")
C = Button(root, text="BUTTON2")
D = Button(root, text="BUTTON3")

# 'row' sets the row number that the widget is placed on
# 'sticky' is the same as 'anchor'
B.grid(row=0, pady=0, sticky=W)
C.grid(row=1, pady=100, sticky=W)
D.grid(row=2, pady=120, sticky=W)

root.mainloop()

虽然我个人更喜欢 grid 而不是 pack,但这个决定实际上只是一个偏好问题。

关于python - 将小部件放在窗口上(使用 tkinter),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18033876/

相关文章:

python - Django Forms - 该选择不是可用的选择之一

linux - 检查 lfs 6.5 的 pkg-config 时出错

bash - 使用 bash 和 ssh 如何从远程主机本地写入日志

linux - 删除旧版本的 Ubuntu 操作系统

python - 如何使用 Scikit Learn CountVectorizer 获取语料库中的词频?

python - 使用pandas替换excel表格中的数据

javascript - Python:setExtreme 后从 Highcharts 读取数据

linux - 摄像机端(而非客户端)的 ONVIF 视频流

C Linux 检查挂载空间

docker - JetBrains 空间。 docker-compose 与 -H 标志部署在远程服务器上