在 Ubuntu 上在 TextBox Tkinter Python 中打印

print in TextBox Tkinter Python on Ubuntu

我不知道我到底应该怎么称呼这个问题所以如果不完全理解请编辑。 我正在 Ubuntu 上的 Python 中编写程序,以在 Y-axis 中使用滚动选项在 TextBox 中打印文件名。

但是文件名出现在文本框之外,滚动选项也无法正常工作。 我还在下面附上了程序的输出

你能帮我解决这个问题吗?

import io,sys,os,subprocess 
from Tkinter import *

def viewFile():
    s=1
    for f in os.listdir(path):
        var= StringVar()
        var.set(f)
        l1 = Label(mainframe, textvariable=var)
        l1.grid(row=s)
        s += 1

if __name__ == '__main__':
    root = Tk()

    mainframe= root.title("FILE MANAGER APPLICATION")                         # Program Objective
    mainframe= root.attributes('-fullscreen', True)

    step = LabelFrame(root,text="FILE MANAGER", font = "Arial 20 bold   italic")
    step.grid(row=0, columnspan=7, sticky='W',padx=100, pady=5, ipadx=130, ipady=25)

    Button(step,    text="File View",   font = "Arial 8 bold    italic",    activebackground="turquoise",   width=30, height=5, command=viewFile).grid      (row= 1, column =2)
    Button(step,    text="Exit",        font = "Arial 8 bold    italic",    activebackground="turquoise",   width=20, height=5, command=root.quit).grid     (row= 1, column =5)

    tex = Text(master=root)
    scr=Scrollbar(root,orient =VERTICAL,command=tex.yview)
    scr.grid(row=2, column=2, rowspan=15, columnspan=1, sticky=NS)
    tex.grid(row=2, column=1, sticky=W)
    tex.config(yscrollcommand=scr.set,font=('Arial', 8, 'bold', 'italic'))

    global process
    path = os.path.expanduser("~/python")                   # Define path To play, delete, or rename video
    root.mainloop()

如果您想在 tex 中插入文件名,请调用 tex.insert 而不是创建新标签。

def viewFile():
    for f in os.listdir(path):
        tex.insert(END, f + "\n")