在tkinter和Python 3中,我有三个小部件。一张图片(作为标签)和两个标签。我希望图片一直在框的左侧。然后,我希望两个标签在X轴上居中,基本上忽略图片,然后居中。第一个标签需要高于第二个标签。我该如何实现?我已经尝试了很长时间,但无法忽略图片。
编辑:感谢DerrickTSE(不是讽刺的),我可以更好地解释它。我确实提到了GUI看起来像这样:
-----------
| | Label 1
| Pic | -------
| | Label 2
-----------
将标签1和标签2居中的位置。
答案 0 :(得分:1)
不确定要组织UI的确切位置。因此,我假设您想实现以下目标:
-----------
| | Label 1
| Pic | -------
| | Label 2
-----------
然后,您可以使用grid
属性来组织窗口小部件。要实现,可以在方法rowspan
中调用.grid()
来扩展特定单元格。因此,简短的代码应如下所示:
pic = tk.Label(frame,...)
pic.grid(column = 0, rowspan = 2) # extend the cell by 2 rows
Label1 = tk.Label(frame,...)
Label1.grid(column = 1, row = 0)
Label2 = tk.Label(frame,...)
Label2.grid(column = 1, row = 1)
有关tkinter网格的更多说明:Doc
希望这会有所帮助,欢呼起来。
答案 1 :(得分:0)
您是否正在寻找类似的东西?窗口可以扩展,标签将位于中心。
import tkinter as tk
root = tk.Tk()
pic = """
-----------
| |
| Pic |
| |
-----------
"""
p = tk.Label(root,text=pic,font="Consolas 8")
p.pack(side="left")
f = tk.Frame(root)
tk.Label(f,text="Label 1").pack()
tk.Label(f,text="-------").pack()
tk.Label(f,text="Label 2").pack()
f.pack(side="left",expand=True)
root.mainloop()