作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我目前正在编写一段代码,稍后将集成到其他东西中以充当设置配置器。目前,我想要一个像下面这样布局的窗口:
其中每个彩色框都是一个框架。这个窗口是不是 可调整大小并始终为 480x720 像素。因此,我希望我使用的 3 个框架、sideBar(黄色)、容器(蓝色)和静态(红色)始终保持相同的大小并以大致相同的比例填充如上图所示的窗口(不需要是精确的)。
此窗口的代码如下
self.window = tk.Tk()
self.windowHeight = 480
self.windowLength = 720
self.windowDimensions = str(self.windowLength)+"x"+str(self.windowHeight) #make diemnsions string; dimensions are set as a single string
self.window.geometry(self.windowDimensions)
self.window.resizable(width=False, height=False)
self.container = tk.Frame(self.window, relief="sunken", borderwidth=2) #instantiate new window
self.sideBar = tk.Frame(self.window, relief="sunken", borderwidth=2)
self.static = tk.Frame(self.window, relief="sunken", borderwidth=2)
self.sideBar.grid_propagate(False)
self.sideBar.grid(row=0, column=0)
self.container.grid(row=0,column=1)
self.static.grid(row=5, column=1)
self.configuratorObject = configuratorObject
audioButton = tk.Button(self.sideBar, text="Audio Page", command=lambda: self.raisePage("audioPage"))
colourButton = tk.Button(self.sideBar, text="Colours", command=lambda: self.raisePage("coloursPage"))
saveButton = tk.Button(self.static, text = "Save", state="disabled")
applyButton = tk.Button(self.static, text = "Apply", state="disabled")
audioButton.pack()
colourButton.pack()
saveButton.pack()
applyButton.pack()
height
和
width
网格的参数,但它们似乎真的没有做任何事情。那么我该如何明确定义框架的布局和大小呢?
最佳答案
在你写的评论中
If theres a way of getting tkinter to do it then that'd be great
pack
开始而不是
grid
对于三帧。对于这样的基本布局,它需要的代码行数少于
grid
.
self.sideBar.pack(side="left", fill="y")
self.static.pack(side="bottom", fill="x")
self.container.pack(side="top", fill="both", expand=True)
fill="y"
,高度将被强制保持为窗口的完整高度。
audioButton.pack(side="top", fill="x")
colourButton.pack(side="top", fill="x")
applyButton.pack(side="right", padx=10)
saveButton.pack(side="right", padx=10)
grid
来执行此操作也是,但它需要多几行代码来对行和列应用权重。我个人更喜欢
pack
当布局自然不适合网格时,因为它需要更少的代码行。
关于python - 如何在 tkinter 中显式调整帧大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62067726/
我是一名优秀的程序员,十分优秀!