当我把一个小部件放进框架里,框架的颜色就消失了。如果之前是“黑色”,那么在帧内放置widget(label)
之后,颜色再次变为白色。
这是我的密码:
from tkinter import *
root = Tk()
root.geometry("700x600")
f = Frame(root, height = 400, width = 400, bg = 'black')
f.pack()
id = Label(f, text = "Email:", fg = 'blue', font = ('Kristen ITC', 18))
id.pack()
默认情况下,小部件收缩或扩展以适应其内容。添加按钮时,框架将缩小以适合。你知道吗
看起来您希望框架只占用根窗口的一部分。与其明确给出框架的宽度和高度,不如让tkinter为您这样做。用你想要的小部件填充框架,让tkinter决定框架应该有多大。然后,对
grid
或pack
使用适当的选项来逻辑地排列它们。当tkinter被允许制作合适大小的小部件时,您将得到一个响应性更好的UI。你知道吗例如,如果在调用帧上的
pack
时设置fill
和expand
选项,它将不会缩小以适应。如果以后需要添加更多的小部件,则不必修改代码的其他部分使其适合。你知道吗您也可以通过调用
f.pack_propagate(False)
来关闭这个“收缩到适合”功能,但这很少是正确的解决方案,因为它会强制您计算大小,如果您在具有不同字体或不同分辨率的系统上运行程序,您的计算可能会出错。你知道吗您的
Frame
正在将自身调整为Label
。你需要设置…:为了
Frame
保持自己的维度而不受its子部件的影响。你知道吗相关问题 更多 >
编程相关推荐