【Python GUI tkinterサンプル】ttk.LabelFrame(ラベルフレーム)のフレームサイズを固定する
使用するメソッド
propagate(bool)
boolはTrue,Falseもしくは0,1
使い方
propagate(True)がデフォルトで指定してあるため中のWidgetのサイズに影響されてしまう。
中のWidgetに関係なく指定したサイズで固定するためにはpropagate(False)を使用する。

同じWidget群を含んだLabelFrameにpropagateを指定したときのSample画像

サンプルコード
from tkinter import *
import tkinter.ttk as ttk
#propagate-True
class LabelFrameSamplePropagateTrue(ttk.Frame):
    def __init__(self, master):
        super().__init__(master)
        self.create_widgets()
        self.pack()
    def create_widgets(self):
        labelFrame  = ttk.LabelFrame(self,text="propagate-True",labelanchor="nw",width=280,height=180)
        labelFrame.pack()
        labelFrame.propagate(True)
        # child-widget
        label = ttk.Label(labelFrame, text ="propagate true")
        label.pack()
        button = ttk.Button(labelFrame, text ="True")
        button.pack()
# propagate-False
class LabelFrameSamplePropagateFalse(ttk.Frame):
    def __init__(self, master):
        super().__init__(master)
        self.create_widgets()
        self.pack()
    def create_widgets(self):
        labelFrame  = ttk.LabelFrame(self,text="propagate-False",labelanchor="nw",width=280,height=180)
        labelFrame.pack()
        labelFrame.propagate(False)
        label = ttk.Label(labelFrame, text ="propagate false")
        label.pack()
        button = ttk.Button(labelFrame, text ="False")
        button.pack()
if __name__ == '__main__':
    master = Tk()
    master.title("LabelFrame-propagate")
    master.geometry("300x300")
    LabelFrameSamplePropagateTrue(master)
    LabelFrameSamplePropagateFalse(master)
    master.mainloop()