tkinter でスクロールバー付きのツリービューを作成したのですが、このコードだと、ウィジェットを配置するときに
Python
1widget = VerticalScrolledTreeview(win) 2widget.frame.pack()
とする必要があります。
frameを挟まずに直接配置できるようなクラスを作りたい場合はどのようにすればいいのでしょうか?
python
1class VerticalScrolledTreeview(ttk.Treeview): 2 def __init__(self, *args, **kwargs): 3 super_args = list(args) 4 self.frame = ttk.Frame(args[0]) 5 super_args[0] = self.frame 6 super().__init__(*super_args, **kwargs) 7 8 scrollbar = ttk.Scrollbar(super_args[0], orient=tk.VERTICAL, command=self.yview) 9 self["yscrollcommand"] = scrollbar.set 10 11 self.pack(side=tk.LEFT, fill=tk.BOTH, expand=True) 12 scrollbar.pack(fill=tk.Y, side=tk.RIGHT) 13 return 14
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/16 08:48