私はこの場所とtkinterを初めて使いました。私はスクロール可能なリストボックスやキャンバスを作るのに悩まされています。私は両方のウィジェットを試しました。このリストボックスまたはキャンバスには、いくつかのエントリウィジェットとラベルウィジェットがあります。原点はR0、C0です。 row/columnconfigureを使用して、リストボックスまたはキャンバスを引き伸ばしました。グリッド内のスクロール可能なリストボックス(tkinterを使用)
メインウィンドウでは、4行目から4行目(0,4→4,4)に4つのボタンがありました。私は第5列にスクロールバーを配置しました。グリッドメソッドを使用しようとしました。私が抱えている問題は、スクロールバーを機能させることです。
注:メインフレームをクラスにすることは、私が試した方法の1つに過ぎません。右側のスクロールバーをパッキングすると、リストボックス/キャンバスが左側にパックされています。しかし、スクロールバーに指示されたリストボックス/キャンバスウィジェットは、リストボックス/キャンバスをスクロールしません。また、多くの入力ボックスを追加しても、リストボックス/キャンバスはスクロールしません。助けてください。
from tkinter import *
from tkinter.ttk import *
Style().configure("B.TFrame", relief="flat",
background="blue")
Style().configure("R.TFrame", relief="flat",
background="red")
Style().configure("R.TLabel", background="red")
class Application(Frame):
def __init__(self, master=None):
Frame.__init__(self, master, style="B.TFrame")
self.grid(sticky=N+S+E+W)
self.mainframe()
def mainframe(self):
top=self.winfo_toplevel()
self.menuBar = Menu(top)
top["menu"] = self.menuBar
self.subMenu = Menu(self.menuBar, tearoff=0)
self.subMenu2 = Menu(self.menuBar, tearoff=0)
self.menuBar.add_cascade(label="File", menu=self.subMenu)
self.menuBar.add_cascade(label="About", menu=self.subMenu2)
self.subMenu.add_command(label="Open")
self.subMenu.add_command(label="Save")
self.subMenu.add_command(label="Exit")
self.subMenu2.add_command(label="About")
self.subMenu2.add_command(label="Help")
self.data = Listbox (self, bg='red')
scrollbar = Scrollbar(self.data, orient=VERTICAL)
self.add = Button(self, text="")
self.remove = Button(self, text="")
self.run = Button(self, text="")
self.stop = Button(self, text="")
self.data.grid (row=0, column=0, rowspan=4, columnspan=4, sticky=N+E+S+W)
self.data.columnconfigure(1, weight=1)
self.data.columnconfigure(3, weight=1)
self.add.grid(row=4,column=0,sticky=EW)
self.remove.grid(row=4,column=1,sticky=EW)
self.run.grid(row=4,column=2,sticky=EW)
self.stop.grid(row=4,column=3,sticky=EW)
scrollbar.grid(column=5, sticky=N+S)
特に、あなたのコードをSOに投稿する場合は、ご注意ください。 – fodma1