Ich habe ein Problem, wo ich ein Bildlauffeld habe mit ein paar Zeilen jede Zeile ist etwa 200 Zeichen breit. Ich hatte die Breite auf 125 eingestellt, was nicht genug war. Wenn ich es jedoch über 175 stoße, verschwinden meine Bildlaufleisten. Wenn ich es bei oder unter 100 habe, scrollt es durch alle Daten, ist aber ein sehr kleines Fenster. Ich möchte, dass das Fenster die Größe des Rahmens hat und durch den gesamten Code scrollt. Code:Tkinter Listbox Breite interferiert mit Bildlaufleisten
import Tkinter as tk
import tkFont
def view():
data = ['|unique_id | id | species | sex_age | collector | location | preparator | collection_date | entered_date | innitials | notes',
'| 88 | A-1444 | puffinus grseus | n/a | n/a | n/a | n/a | 13 May 2013 | 27 Apr 2017 | EB | TL: 395mm WC:',
'| 72 | A-1444 | puffinus grseus | n/a | n/a | n/a | n/a | 13 May 2013 | 27 Apr 2017 | EB | TL: 395mm WC:',
'| 71 | A-1445 | anas clypeata | M | G. Webber | n/a | A. Zack | 23 Oct 2013 | 26 Apr 2017 | EB | TL: 395mm WC:',
'| 87 | A-1445 | anas clypeata | M | G. Webber | n/a | A. Zack | 23 Oct 2013 | 26 Apr 2017 | EB | TL: 395mm WC:']
size = [800, 600]
obj_main_frame = tk.Tk()
data_frame = tk.Frame(obj_main_frame, width=size[0], height=size[1])
scrollbar_y = tk.Scrollbar(obj_main_frame, orient=tk.VERTICAL)
scrollbar_x = tk.Scrollbar(obj_main_frame, orient=tk.HORIZONTAL)
data_scrollable = tk.Listbox(data_frame, font=tkFont.Font(family="Courier", size=10), selectbackground="gray", selectmode=tk.SINGLE, width=150, yscrollcommand=scrollbar_y.set, xscrollcommand=scrollbar_x.set)
scrollbar_y.config(command=data_scrollable.yview)
scrollbar_x.config(command=data_scrollable.xview)
obj_main_frame.grid()
data_frame.grid_propagate(0)
data_frame.grid(row=0, column=0, sticky='nsew')
scrollbar_x.grid(row=1, column=0, sticky='ew')
scrollbar_y.grid(row=0, column=1, sticky='ns')
data_scrollable.grid(row=0, column=0, sticky='nsew')
for i, datum in enumerate(data):
data_scrollable.insert(tk.END, datum)
obj_main_frame.mainloop()
return
if __name__ == '__main__':
view()