Древовидное представление предназначено для отображения файла Excel через filedialog с 15 столбцами, что очень длинно, поэтому мне нужна горизонтальная полоса прокрутки.
Однако полоса прокрутки не работает. Древовидное представление охватывает данные Excel из окна.
Как я могу решить эту проблему?
# Create Excel_Frame for TreeView Excelsheet
Excel_Frame = ttk.Frame(Body_Frame)
Excel_Frame.grid(row=0, column=1)
treeScroll_x = ttk.Scrollbar(Excel_Frame, orient="horizontal")
treeScroll_y = ttk.Scrollbar(Excel_Frame, orient="vertical")
treeScroll_x.pack(side="bottom", fill="x")
treeScroll_y.pack(side="right", fill="y")
treeview = ttk.Treeview(Excel_Frame, show="headings", xscrollcommand=treeScroll_x.set, yscrollcommand=treeScroll_y.set,
height=30)
treeview.pack(side="left", fill="both", expand=True)
treeScroll_x.config(command=treeview.xview)
treeScroll_y.config(command=treeview.yview)
Excel_Frame.grid_columnconfigure(0, weight=1)
Excel_Frame.grid_rowconfigure(0, weight=1)
# Function to load data from Excel to Treeview
def load_data_func():
global filepath
# Clear existing data in Treeview
for item in treeview.get_children():
treeview.delete(item)
# Read Excel File
print("filepath = ", filepath)
selected_sheet = "2020" # Testing specific sheet
excel_file = pd.read_excel(filepath, sheet_name=selected_sheet)
# Set Treeview Header
treeview["columns"] = list(excel_file.columns)
#treeview["show"] = "headings" # Hide the default first column
for col in excel_file.columns:
treeview.heading(col, text=col)
treeview.column(col, width=100, minwidth=150, stretch=False)
# Insert data rows to Treeview
for index, row in excel_file.iterrows():
treeview.insert("", "end", values=list(row))
Это перед загрузкой файла Excel

И это после загрузки файла

Это иерархия фреймов (если она предусмотрена), Treeview находится в Excel_Frame
root
Main_Frame
Load_Frame
Info_Frame
Body_Frame
Entry_Frame
Button_Frame
Excel_Frame
Подробнее здесь: https://stackoverflow.com/questions/797 ... ot-working
Мобильная версия