Tkinter を使用して Python (2.7) で簡単なアプリを開発しました。しかし、私のステータスバーは機能しているだけです。簡略化されたコードは次のとおりです。
from Tkinter import *
import os
import sys
def fixFiles():
inputFilePath= input_dir.get()
#Build a list of files in a directory
fileList = os.listdir(inputFilePath)
#Loop through those files, open the file, do something, close the file
for filename in fileList:
infile = open(inputfilepath + "/" + filename,'r')
#Update the status with the filename
status_string = 'Status: Working on file: ' + str(filename)
status.set(status_string)
for line in infile:
#Do some stuff here
infile.close()
class App:
def __init__(self, master):
i = 0
status.set("Status: Press 'Fix Files!'")
statuslabel = Label(master, textvariable=status, relief = RIDGE, width = 65, pady = 5, anchor=W)
bFixFiles = Button(root, text='Fix Files!', command = fixFiles)
bQuit = Button(root, text='Quit', command = root.destroy)
statuslabel.grid(row=i, column = 0, columnspan = 2)
bFixFiles.grid(row=i, column=2, sticky=E)
bQuit.grid(row=i, column=3, sticky=W)
root = Tk()
root.title("FIX Files")
input_dir = StringVar()
status = StringVar()
choice = IntVar()
app = App(root)
root.mainloop()
現在何が起こっているかというと、プログラムがファイルのループ処理を終了するまでステータス バーに「ステータス: 'Fix Files!' を押してください!」と表示され、その時点で「ステータス: ファイルの処理中: XXXXX.txt」と表示されます (これは名前です)。プログラムによって最後に開かれ、閉じられたファイルの。
プログラムが新しいファイルを開くたびに、ステータス バーがファイル名で更新されるようにします。どんな助けでも大歓迎です!