Python 3.3 Tkinter LabelFrame可调整大小

时间:2014-10-05 11:43:57

标签: python python-3.x tkinter

是否可以创建可调整大小的LabelFrame
或者任何方式?
是否可以将ttk.PanedWindowLabelFrame一起使用?

这是我的代码:

fram1 = ttk.LabelFrame(root, text = "text1", height = 100, width = 200)      
fram1.config(relief=FLAT)
fram1.pack(side = "right", fill="both", expand = True)

fram2 = ttk.LabelFrame(root, text = "text2", height = 100, width = 200)      
fram2.config(relief=FLAT)
fram2.pack(side = "left", fill="both", expand = True)

我无法resize这些labelframes

1 个答案:

答案 0 :(得分:1)

panedwindow可以在窗格中保存任何单个窗口小部件,因此labelframe没有问题,并允许您添加其他窗口小部件和labelframe的子窗口。一个例子:

import sys
from tkinter import *
from tkinter.ttk import *

def main():
    app = Tk()
    pw = PanedWindow(app, orient='vertical')
    paneA = LabelFrame(pw, text="Pane A", height=240, width=320)
    paneB = LabelFrame(pw, text="Pane B", height=240, width=320)
    pw.add(paneA, weight=50)
    pw.add(paneB, weight=50)
    pw.pack(fill='both', expand=True)
    app.mainloop()

if __name__=='__main__':
    sys.exit(main())

权重允许您在更改容器大小时为每个窗格设置比例缩放。如果两个窗格的重量相同,那么它们的长度会相同。