在屏幕变大时,如何自动将滚动条添加到tkinter窗口?

时间:2019-03-08 06:36:24

标签: python tkinter

我想显示目录中正在处理的文件的列表。如果目录中包含许多文件,则窗口会比屏幕大,并且会在不添加滚动条的情况下关闭。 我已经看到了一些将滚动条添加到小部件的解决方案,但是我没有看到管理整个窗口的任何方法,也没有看到如何仅在内容不适合大多数其他应用程序窗口时显示它。出现滚动条时是否有命令让操作系统进行管理? 这是我到目前为止的代码,目前仅显示文件名,但是我想稍后再添加对它们的处理。

import tkinter
from pathlib import Path

def start():
    progressWindow = tkinter.Toplevel(mainWindow)
    tkinter.Label(progressWindow,text="File name").grid(row=0, column=0,sticky="w")
    tkinter.Label(progressWindow,text="Analysis results").grid(row=0, column=1, sticky="w")
    tkinter.Label(progressWindow, text="File moved and renamed").grid(row=0, column=2, sticky="w")
    gridRow = 1
    sourcePath = Path(r"C:\Users\Sulley\Downloads")
    for file in sourcePath.iterdir():
        if not file.is_file():
            continue
        if not file.suffix == ".pdf":
            continue
        tkinter.Label(progressWindow,text=file.name).grid(row=gridRow,column=0, sticky="w")
        gridRow += 1
    tkinter.Button(progressWindow,text="Done", command=progressWindow.destroy).grid(row=gridRow, column=1)

mainWindow = tkinter.Tk()
mainWindow.title("Sort Bill PDFs")
# Go/cancel
tkinter.Button(mainWindow,text="Cancel", command=quit).pack()
tkinter.Button(mainWindow,text="Go!", command=start).pack()
mainWindow.mainloop()

0 个答案:

没有答案