TreeViewとそれに対応したスクロールバーを表示させるため、次のようにソースコードを書きました。
そこで2つほど質問があります。
1つ目は、ウィンドウの横幅を狭めていくと縦方向のスクロールバーがあるサイズを境に消えてしまいます。隠れると言ったほうが正しいのでしょうか?
スクロールバーの表示を優先させるにはどうすればいいでしょうか?
もう1つはysb
(縦方向のスクロールバー)と同様にxsb
(横方向のスクロールバー)を配置したのですがうまく表示できませんでした。
できればpack
で配置したいです。どのように配置すればいいでしょうか?
Python
1import tkinter as tk 2import tkinter.ttk as ttk 3 4win = tk.Tk() 5 6tree = ttk.Treeview(win) 7tree["columns"] = (1,2,3) 8tree["show"] = "headings" 9tree.column(1, width=100) 10tree.column(2, width=75) 11tree.column(3, width=200) 12tree.heading(1, text="名前") 13tree.heading(2, text="年齢") 14tree.heading(3, text="住所") 15for i in range(30): #スクロール用に多めにデータをINSERT 16 tree.insert("", "end", values=("山田 太郎",10,"東京都新宿区")) 17 tree.insert("", "end", values=("鈴木 一郎","3","東京都練馬区")) 18 tree.insert("", "end", values=("佐藤 健一","6","東京都渋谷区")) 19tree.pack(side="left", fill="both", expand=1) #fill="y" や fill="both" を使うとき、expandを1にしないと意図した表示にならない 20 21ysb = tk.Scrollbar(win, orient=tk.VERTICAL, width=35, command=tree.yview) 22tree.configure(yscrollcommand=ysb.set) 23ysb.pack(side="right", fill="y") #expandを1にすると表示が変・・・ 24 25""" 26xsb = tk.Scrollbar(win, orient=tk.HORIZONTAL, width=35, command=tree.xview) 27tree.configure(yscrollcommand=xsb.set) 28xsb.pack(side="bottom", fill="x") 29""" 30 31 32win.mainloop()
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/18 10:47
2020/02/18 11:39
2020/02/18 11:57