前提
windows10
python
tkinter
実現したいこと
SQLite3で作ったデータベースの中身をtkinterのtreeviewで表示を考えています。
カラム数もレコード数も多くなるので
XとYのスクロールバー配置と考えていますが
うまく表示されなくて困っています。
X軸のスクロールバーが表示はされるものの、アクティブになりません。
推測としては、treeviewがrootウィンドウからはみ出ているのが
原因ではないかと思っています。
treeviewのFrame大きさを調整するのが解決策か?、とは思ったのですが
思う通りにならず、ご教示いただけると幸いです。
ここに実現したいことを箇条書きで書いてください
・カラムの多いtreeviewを、XとYのスクロールバー込みでrootウィンドウに表示する
・スクロールバーをスライドさせて、treeviewのカラム内容を確認できること
エラーメッセージ
なし
該当のソースコード
import tkinter as tk
import tkinter.ttk as ttk
import tkinter.font
root = tk.Tk()
font = tkinter.font.Font(root,family="TkDefaultFont",size=10)
root.geometry("1366x768")
root.resizable(0,0)
tree_frame = tk.LabelFrame(root,text="設定表",width=400,height=500)
tree_frame.propagate(False)
tree_frame.place(x=10,y=50)
tree = ttk.Treeview(tree_frame)
tree["columns"] = (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19)
tree["show"] = "headings"
tree.heading( 0,text="品種名")
tree.heading( 1,text="A設定値")
tree.heading( 2,text="B設定値")
tree.heading( 3,text="C設定値")
tree.heading( 4,text="D設定値")
tree.heading( 5,text="E設定値")
tree.heading( 6,text="F設定値")
tree.heading( 7,text="G設定値")
tree.heading( 8,text="H設定値")
tree.heading( 9,text="I設定値")
tree.heading(10,text="J設定値")
tree.heading(11,text="K設定値")
tree.heading(12,text="L設定値")
tree.heading(13,text="M設定値")
tree.heading(14,text="N設定値")
tree.heading(15,text="O設定値")
tree.heading(16,text="P設定値")
tree.heading(17,text="Q設定値")
tree.heading(18,text="R設定値")
tree.heading(19,text="S設定値")
tree.column( 0,width=100)
tree.column( 1,width=100)
tree.column( 2,width=100)
tree.column( 3,width=100)
tree.column( 4,width=100)
tree.column( 5,width=100)
tree.column( 6,width=100)
tree.column( 7,width=100)
tree.column( 8,width=100)
tree.column( 9,width=100)
tree.column(10,width=100)
tree.column(11,width=100)
tree.column(12,width=100)
tree.column(13,width=100)
tree.column(14,width=100)
tree.column(15,width=100)
tree.column(16,width=100)
tree.column(17,width=100)
tree.column(18,width=100)
tree.column(19,width=100)
scrollbar_x = tk.Scrollbar(tree_frame,orient=tk.HORIZONTAL,command=tree.xview)
scrollbar_y = tk.Scrollbar(tree_frame,orient=tk.VERTICAL,command=tree.yview)
tree.config(xscrollcommand=scrollbar_x.set)
tree.config(yscrollcommand=scrollbar_y.set)
tree.grid(row=0,column=0,pady=2)
scrollbar_x.grid(row=1,column=0,sticky=tk.W+tk.E)
scrollbar_y.grid(row=0,column=1,sticky=tk.N+tk.S)
root.mainloop()
試したこと
上記コード
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/11/27 06:16 編集
2022/11/27 06:16
2022/11/27 08:45
2022/11/27 13:16