我想創建一個使用tk.Toplevel在我的gui中創建的窗口的滾動條。該框架目前經常填滿長長的網格,添加一個買一個。 GUI的其餘部分允許用戶寫入一系列使用網格一個接一個顯示的字段。tkinter中的標籤框架的滾動條
數據可能是這個樣子:
sadas sfafaf fsaafads fdsafsf dfsfdsf fssfs fsfsfsfs fsfsfs sfsfsfs fsssfsfsf
sadas sfafaf fsaafads fdsafsf dfsfdsf fssfs fsfsfsfs fsfsfs sfsfsfs fsssfsfsf
sadas sfafaf fsaafads fdsafsf dfsfdsf fssfs fsfsfsfs fsfsfs sfsfsfs fsssfsfsf
我用這個職位:Adding a scrollbar to a group of widgets in Tkinter作爲一個指南,以得到我現在的位置。目前,當我打開窗口時,滾動條出現在左側。只要我添加一行GUI就會凍結,我必須關閉它。
下面是相關代碼:
class data_popup():
def __init__(self, parent):
self.parent = parent
self.top = tk.Toplevel(parent)
self.top.title("Current Data")
self.top.protocol('WM_DELETE_WINDOW', self.stop_close)
#Frames
self.header_labels_frame = tk.Frame(self.top)
self.header_labels_frame.pack(side = tk.TOP)
self.data_frame_1 = tk.Frame(self.top)
self.data_frame_1.pack(side = tk.BOTTOM)
self.header_labels_list = []
self.data_canvas = tk.Canvas(self.data_frame_1, borderwidth = 0)
self.data_frame = tk.Frame(self.data_canvas)
self.scrollbar = tk.Scrollbar(self.data_frame, orient = 'vertical', command = self.data_canvas.yview)
self.data_canvas.configure(yscrollcommand = self.scrollbar.set)
self.scrollbar.pack(side = 'right', fill = 'y')
self.data_canvas.pack(side = "bottom", fill = 'both', expand = True)
self.data_canvas.create_window((4,4), window = self.data_frame, anchor = 'nw', tags = "self.frame")
self.data_frame.bind("<Configure>", self.myfunction)
self.create_header()
self.data_row_list = list()
def myfunction(self, event):
self.data_canvas.configure(scrollregion=self.data_canvas.bbox("all"))
你的代碼的縮進不正確的人。 –
_「只要我添加一行,GUI就會凍結,我必須關閉它。」_您不是在同一個窗口和/或框架中同時使用「網格」和「包」,對嗎?這使得Tkinter進入一個無限循環。 – Kevin
我的編輯器上的縮進是正常的,它只是複製粘貼錯誤。我會修好它。 – DustySack