【发布时间】:2020-08-31 14:51:18
【问题描述】:
我正在尝试在窗口左侧放置一个垂直的 tkinter 标签。
FONT = ('helvetica', 18)
write = 'hello world'
label = tk.Label(
window, anchor = 's', background = BACKGROUNDGREY, borderwidth = 0, font = FONT, foreground = 'white',
justify = 'center', pady = 40, relief = 'flat', text = write, width = len(write) * 2
)
label.pack(side = 'left', fill = 'y')
但是现在,当我添加此代码以放置按钮时...
btn = tk.Button(
label, activebackground = BACKGROUNDGREY, borderwidth = 0, background = BACKGROUNDGREY, height = 70,
highlightcolor = 'white', width = 70
)
btn.pack()
如您所见,我不知道为什么,但标签的文本不再可读,并且它还会调整宽度,我想保留第一张图片中显示的宽度的标签。
更新:我看到我们中的一些人不明白:我想要标签内的按钮。
【问题讨论】:
-
嗯...您正在尝试将按钮的父级设置为标签?!这是故意的吗?
-
是的,我希望按钮位于标签内。
-
“我想要标签内的按钮”。你想达到什么目的(因为在标签内放一个按钮对你没有帮助)?如果你想要按钮后面的文本(这可能是我能想到的为什么你会如此坚持在标签中包含按钮的唯一原因),你可以使用带有
create_text和create_window的画布。跨度> -
这里有点复杂。我只想像许多应用程序一样,在充满按钮的窗口左侧放一个小标签,在右侧放一个主体。由于我希望列具有一定宽度,因此我不能使用网格,因此我认为标签(具有宽度)可以解决我的问题...我也不知道这是否是最佳选择。如果您有任何想法,请告诉我。
-
在这种情况下,您可能仍然可以使用带网格的框架,但按照 Bryan 在another of his answers 中的建议使用
grid_propagate(0)