添加新数据后,列表框会自动调整大小

时间:2020-07-30 07:11:44

标签: python-3.x tkinter

我正在尝试将信息添加到我的列表框中,并使其保持配置时所声明的大小。这是我的带有滚动条的列表框代码和其外观的图像。

列表框的图片。 picture of the listbox

taskList = Listbox(setBox, bg="#1B2834",fg="white")
taskList.configure(width=183,height=39)
taskList.pack(side=LEFT,fill=BOTH)

taskScroll = Scrollbar(setBox)
taskScroll.configure(bg="#1B2834",width=18)
taskScroll.pack(side = RIGHT, fill = BOTH)

taskList.config(yscrollcommand = taskScroll.set) 
taskScroll.config(command = taskList.yview) 

现在,当我单击按钮时,命令将执行以下代码:

def savetasks():
    #make tasks
    letters = string.ascii_uppercase
    result_str = ''.join(random.choice(letters) for i in range(4))
    num = str(random.randrange(0,9))
    taskIDnum = num+result_str
    
    taskIDLBL = Label(taskList, text=taskIDnum,bg="#1B2834", fg="White")
    taskIDLBL.configure(padx=20,pady=10)
    taskIDLBL.pack()

此代码也可以正常工作,创建具有随机ID的新标签,但它会调整列表框的大小以使其看起来像这样...

单击按钮以执行命令后的列表框图片。 picture of list box after clicking the button to execute the command.

最后,滚动条不可滚动,当我创建大量ID时,这些ID最终消失在屏幕上,我无法使用滚动条向下滚动以查看它们,有没有办法让Listbox调整大小可以将列表框设置为最大高度和最小高度吗?

如果有一种更简便的方法而不使用列表框,请告诉我,我只需要向下滚动即可查看所有其他ID,但没有其他使用滚动的方法栏,我需要使用列表框

0 个答案:

没有答案