【发布时间】:2021-11-02 21:03:23
【问题描述】:
这里是 Python 初学者。水平滚动条无法正常工作:它不会拉伸整个窗口宽度。但是垂直滚动条和其他一切都可以正常工作。可能是什么问题?
import tkinter
from tkinter import *
from tkinter import ttk
from PIL import Image, ImageTk
def listwindow():
list_window = Toplevel()
list_window.geometry("1000x300")
list_window.title("List Presentation")
list_window.config(background="#232323")
main_frame = Frame(list_window)
main_frame.pack(fill=BOTH, expand=1)
mcanvas = Canvas(main_frame)
mcanvas.pack(side=LEFT, fill=BOTH, expand=1)
mscrollbar = ttk.Scrollbar(main_frame, orient=HORIZONTAL, command=mcanvas.xview)
mscrollbar.pack(side=BOTTOM, fill=X)
mscrollbar2 = ttk.Scrollbar(main_frame, orient=VERTICAL, command=mcanvas.yview)
mscrollbar2.pack(side=RIGHT, fill=Y)
mcanvas.configure(xscrollcommand=mscrollbar.set)
mcanvas.bind('<Configure>', lambda e: mcanvas.configure(scrollregion=mcanvas.bbox("all")))
mcanvas.configure(yscrollcommand=mscrollbar2.set)
mcanvas.bind('<Configure>', lambda e: mcanvas.configure(scrollregion=mcanvas.bbox("all")))
second_frame = Frame(mcanvas)
mcanvas.create_window((0, 0), window=second_frame, anchor="nw")
for i in range(len(googleimg.searchlist)):
globals()["itemImage"+str(i + 1)] = PhotoImage(file="D:\\Photos\\listcreator\\" + str(googleimg.targetpath) + "\\resized\\"+str(i+1)+".png")
globals()["labelImage" + str(i + 1)] = Label(second_frame,image=globals()["itemImage"+str(i+1)]).grid(row=0,column=i)
list_window.mainloop()
【问题讨论】: