gpt4 book ai didi

python - Tkinter 在 Pane 窗口中动态调整小部件的大小

转载 作者:行者123 更新时间:2023-12-03 23:47:07 26 4
gpt4 key购买 nike

我目前有一个带有两个 LabelPanes 的窗口。在 rightPane 中,我有三个 LabelFrame。当我调整窗口大小时,最底部的 LabelFrame 会变大,但前两个仍然是我在设置它们的高度时指定的大小。我想要的是当窗口在 Y 轴上调整大小时,它们三个都能均匀地增长。这可能吗?

import tkinter as tk
if __name__ == '__main__':
appHeight=720
aspectRatio=16/9
appWidth=int(appHeight*aspectRatio)
app=tk.Tk()
app.title("Title")
app.minsize(width=appWidth,height=appHeight)
#================================================================================
# Setup Panes
#================================================================================
#Create Left Pane for settings
leftPane = tk.PanedWindow(bd=4,relief='raised',bg='red')
leftPane.pack(fill=tk.BOTH,expand=1)
#Add Settings Frame to Pane
settingsFrame = tk.LabelFrame(leftPane,text='Signature Filters',padx=5,pady=5,width=int(appWidth/4))
leftPane.add(settingsFrame)

#Create Right Pane for charts
rightPane = tk.PanedWindow(leftPane,orient=tk.VERTICAL,bd=4,relief=tk.SUNKEN,bg='blue')
leftPane.add(rightPane)
#Add Depth Frame to Pane
depthFrame = tk.LabelFrame(rightPane,text='Depth Signature',padx=5,pady=5,height=int(appHeight/3))
rightPane.add(depthFrame)
#Add Velocity Frame to Pane
velocityFrame = tk.LabelFrame(rightPane,text='Velocity Signature',padx=5,pady=5,height=int(appHeight/3))
rightPane.add(velocityFrame)
#Add Depth Frame to Pane
currentFrame = tk.LabelFrame(rightPane,text='Current Signature',padx=5,pady=5,height=int(appHeight/3))
rightPane.add(currentFrame)

app.mainloop()

最佳答案

您需要定义 stretch添加每个 Pane 时字符串“always”的选项。

rightPane.add(depthFrame, stretch="always")
rightPane.add(velocityFrame, stretch="always")
rightPane.add(currentFrame, stretch="always")
stretch接受以下值:
  • 总是 此 Pane 将始终拉伸(stretch)。
  • 第一个 仅当此 Pane 是第一个 Pane (最左侧或最顶部)时,它才会拉伸(stretch)。
  • 最后 仅当此 Pane 是最后一个 Pane (最右侧或最底部)时,它才会拉伸(stretch)。这是默认值。
  • 中间仅当此 Pane 不是第一个或最后一个 Pane 时,它才会拉伸(stretch)。
  • 从不此 Pane 永远不会拉伸(stretch)。

  • 此信息来自 paneconfigure规范 tcl/tk 文档的部分。

    关于python - Tkinter 在 Pane 窗口中动态调整小部件的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62030470/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com