Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Tkinter滚动问题_Python_Tkinter - Fatal编程技术网

Python Tkinter滚动问题

Python Tkinter滚动问题,python,tkinter,Python,Tkinter,我试图在我的列表框上放置一个滚动条,但是因为我插入的项目太长,但是滚动条不会一直滚动。如果您运行下面的代码,您将看到我所说的内容,并注意到水平滚动条不能一直向右滚动。有人知道我怎么解决这个问题吗?当您添加更多条目时,垂直滚动条也会出现同样的问题 import tkinter lista=[11111111111111111111111111111111111111111111111,22222222222222222222222222222222222222222222222222,

我试图在我的列表框上放置一个滚动条,但是因为我插入的项目太长,但是滚动条不会一直滚动。如果您运行下面的代码,您将看到我所说的内容,并注意到水平滚动条不能一直向右滚动。有人知道我怎么解决这个问题吗?当您添加更多条目时,垂直滚动条也会出现同样的问题

import tkinter

lista=[11111111111111111111111111111111111111111111111,22222222222222222222222222222222222222222222222222,
       33333333333333333333333333333333333333333333333333333333333333333333333333333333334444444444444444444467,4444444444444444,
       5555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556]
master = tkinter.Tk()
master.geometry("400x250")
frame = tkinter.Frame(master, borderwidth=1, highlightthickness=1,
                                                  highlightbackground="black", highlightcolor="black")
frame.place(bordermode=tkinter.INSIDE, height=240, width=300, y=0, x=30)
LIST = tkinter.Listbox(frame)
LIST.place(bordermode=tkinter.INSIDE, height=237, width=296)

Scroll_Bar_x = tkinter.Scrollbar(frame, orient=tkinter.HORIZONTAL)
Scroll_Bar_x.config(command=LIST.xview)
Scroll_Bar_x.pack(fill=tkinter.X, side=tkinter.BOTTOM)
LIST.config(xscrollcommand=Scroll_Bar_x.set)
Scroll_Bar_y = tkinter.Scrollbar(frame, orient=tkinter.VERTICAL)
Scroll_Bar_y.config(command=LIST.yview)
Scroll_Bar_y.pack(fill=tkinter.Y, side=tkinter.RIGHT)
LIST.config(yscrollcommand=Scroll_Bar_y.set)
for x in lista:
    LIST.insert(0, x)

master.mainloop()

您在放置的列表框上的滚动条重叠时遇到问题。大多数情况下,
place()
不是您想要使用的

相反,尝试
grid()
这将有助于保持一切有序,并正确调整大小

import tkinter

lista=[11111111111111111111111111111111111111111111111,22222222222222222222222222222222222222222222222222,
       33333333333333333333333333333333333333333333333333333333333333333333333333333333334444444444444444444467,4444444444444444,
       5555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556]
master = tkinter.Tk()
master.geometry("400x250")
frame = tkinter.Frame(master, height=240, width=300, borderwidth=1, highlightthickness=1, highlightbackground="black", highlightcolor="black")
frame.grid(row=0, column=0)
frame.rowconfigure(0, weight=1)
frame.columnconfigure(0, weight=1)
LIST = tkinter.Listbox(frame)
LIST.grid(row=0, column=0, sticky="nsew")
frame.grid_propagate(False)

Scroll_Bar_x = tkinter.Scrollbar(frame, orient=tkinter.HORIZONTAL)
Scroll_Bar_x.config(command=LIST.xview)
Scroll_Bar_x.grid(row=1, column=0, sticky="ew")
LIST.config(xscrollcommand=Scroll_Bar_x.set)
Scroll_Bar_y = tkinter.Scrollbar(frame, orient=tkinter.VERTICAL)
Scroll_Bar_y.config(command=LIST.yview)
Scroll_Bar_y.grid(row=0, column=1, sticky="ns")
LIST.config(yscrollcommand=Scroll_Bar_y.set)
for x in lista:
    LIST.insert(0, x)

master.mainloop()
结果:


您的滚动条与列表框中的文本重叠。