首页 > 解决方案 > 如何在tkinter中调整框架内列表框的高度

问题描述

我正在尝试创建一个框架以仅包含画布右侧的列表框,以便我可以单独调整它们的几何图形(因为我需要在其下方放置另一个带有不同小部件的框架)并且还放置画布和主框架内的这个新框架,我可以用填充更好地在屏幕上放置所有东西 - 关于这些问题(或更好的方法)中的任何一个的任何建议都会非常好,因为它现在完全让我感到困惑!

from tkinter import *
from tkinter import ttk
my_window = Tk()
my_window.geometry('1000x500+200+200')
my_canvas = Canvas(my_window, width=500, height=500, bg='BLUE')
my_canvas.grid(row=0, column=0, rowspan=2)


frame_name = Frame(my_window, bg='GREEN')
#frame_name.geometry('200x200')
frame_name.grid(row=0, column=1, columnspan=2)

my_blank_canvas = Canvas(frame_name, width=50, height=500, bg='Green')
my_blank_canvas.grid(row=0, column=2, rowspan=2)

listbox_objects = Listbox(frame_name)
listbox_objects .grid(row=0, column=1)
listbox_objects_filtered = Listbox(frame_name)
listbox_objects_filtered .grid(row=0, column=3)

listbox_events = Listbox(frame_name)
listbox_events.grid(row=1, column=1, pady=20)
listbox_events_filtered = Listbox(frame_name)
listbox_events_filtered.grid(row=1, column=3, pady=20)

frame_name.columnconfigure(0, weight=3)


my_list_objects = ['1', '2', '3']
for item in my_list_objects:
    listbox_objects.insert(END, item)

my_list_events = ['1', '2', '3']
for item in my_list_events:
    listbox_events.insert(END, item)


my_list_objects_filtered = ['1', '2', '3']
for item in my_list_objects_filtered:
    listbox_objects_filtered.insert(END, item)

my_list_events_filtered = ['1', '2', '3']
for item in my_list_events_filtered:
    listbox_events_filtered.insert(END, item)


mainloop()

标签: tkinterpython-3.7tkinter-canvaslistboxitem

解决方案


我现在已经解决了这个问题。我使用了高度和宽度参数来改变 frame_name 的大小


推荐阅读