tkinker 上有一个小界面。它有三个按钮和一个包含 50 列的表格。启动时遇到两个问题:
- 桌子从窗口弹出。无法解决此问题,无论是使用 method
pack()还是使用 methodgrid()。 - 不可能向表格添加滚动,它根本不会出现在这段代码中:
scrollbar = ttk.Scrollbar(window,orient=HORIZONTAL,command=table.xview)
table.configure(xscrollcommand=scrollbar.set)
scrollbar.pack()
目前可用的程序代码:
from tkinter import *
from tkinter import ttk
window = Tk()
window.config(bg='#C9C5C5')
window.title("Добро пожаловать в приложение PythonRu")
window.geometry('1600x900')
frame_buttons = Frame(window)
frame_buttons.pack(side=LEFT, fill=BOTH)
frame_table = Frame(window)
frame_table.pack(side=RIGHT, fill=BOTH)
start = Button(frame_buttons, text="Старт", width=13, height=2, bg='#B5B2B2', command=lambda: print_reg_values(registers_list, tree))
start.pack(side=TOP)
stop = Button(frame_buttons, text="Стоп", width=13, height=2, bg='#B5B2B2', command=stop_func)
stop.pack(side=TOP)
downdload_file = Button(frame_buttons, text="Загрузить в файл", width=13, height=2, bg='#B5B2B2', command=lambda: download(registers_list))
downdload_file.pack(side=TOP)
columns_list = ['Время']
for i in range(1, 51):
columns_list.append(i)
columns = tuple(columns_list)
table = ttk.Treeview(frame_table, columns=columns, show="headings")
table.pack(fill=BOTH, expand=True)
table.heading("Время", text="Время")
table.column('Время', stretch=NO, width=50)
for i in range(1, 51):
table.heading(i, text=i)
table.column(i, stretch=NO, width=35, anchor=CENTER)
scrollbar = ttk.Scrollbar(window,orient=HORIZONTAL,command=table.xview)
table.configure(xscrollcommand=scrollbar.set)
scrollbar.pack()
window.mainloop()

在与表格()相同的框架中创建一个滚动条,
frame_table放置时指定水平填充()fill=X:要有垂直滚动条和水平滚动条,用起来更方便
grid(pack否则无论是水平滚动条还是垂直滚动条都会超出表格的大小)。变化: