繁体   English   中英

使用网格布局的Python Tkinter滚动条

[英]Python Tkinter Scrollbar using grid layout

我试图做一个简单的GUI,它具有两个列表框,一个列表框位于滚动条中。 我能够将所有这些添加到窗口,但我看不到其他列表框,只是滚动条。 我正在使用GRID布局

这是我的代码:

from Tkinter import *
import glob, os

master = Tk()

master.resizable(width=FALSE, height=FALSE)
master.geometry('{}x{}'.format(400, 500))

listbox = Listbox(master)
listbox.grid(row=0,column=0)


listbox.insert(END, "a list entry")

for item in ["one", "two", "three", "four"]:
    listbox.insert(END, item)


data=Listbox(master,bg="grey")
scrollbar = Scrollbar(data, orient=VERTICAL)
data.config(yscrollcommand=scrollbar.set)
scrollbar.config(command=data.yview)
for file in glob.glob("*.*"):
        print(file)
        data.insert(END,file)
        #data.grid(row=0,column=2)

data.grid(row=1, column=2, rowspan=4,
                   columnspan=2, sticky=N+E+S+W)
data.columnconfigure(3, weight=1)
scrollbar.grid(column=2, sticky=N+S)


master.mainloop()

问题是您将滚动条放在列表框中,这是滚动条的错误方法。 问题是,当您使用网格将滚动条放置在列表框中时,列表框将缩小以适合滚动条。 由于滚动条没有定义的类型,因此列表框会缩小到非常小的尺寸。

解决方案是使滚动条成为框架的子项,而不是列表框的子项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM