我正在尝试做一个小型的GUI应用程序,用户可以在其中选择一个文档并选择一个类。但是我遇到的问题是,当我选择一个文件并将其放在文本框中时,get()运行得很好,但是当用户没有选择任何内容时,我并没有得到“空白”打印。这是我的代码:
import tkinter
from tkinter import ttk
import os
from tkinter import filedialog
class Aplicacion():
def __init__(self):
self.root = tkinter.Tk()
self.root.title("Missclassification")
self.root.resizable(0,0)
self.root.geometry("500x90")
#initialize buttons
self.explorerBtn = ttk.Button(self.root, text="Select file", padding=(10,10), command = self.explore)
self.explorerBtn.grid(column=1, row=0)
self.saveBtn = ttk.Button(self.root, text="Save", padding=(10,10), command=self.save)
self.saveBtn.grid(column=1, row=3)
#initialize text
self.txt = tkinter.Text(self.root, height=1.5, width=40, state = tkinter.DISABLED)
self.txt.grid(column=0,row=0)
#initialize option menu
optionList = ('class 1', 'class 2', 'class 3', 'class 4', 'class 5')
self.v = tkinter.StringVar()
self.v.set(optionList[0])
self.options = tkinter.OptionMenu(self.root, self.v, *optionList)
self.options.grid(column=0, row=3)
self.root.mainloop()
def explore(self):
options = {}
options['initialdir'] = '{0}'.format(os.path.expanduser('~'))
options['filetypes'] = [('all files', '.*'), ('PDF files', '.pdf', '.PDF')]
options['title'] = 'PDF files'
options['defaultextension'] = '.pdf'
filenames = filedialog.askopenfilename(parent=self.root, **options)
self.filelist = self.root.tk.splitlist(filenames)
self.txt.config(state = tkinter.NORMAL)
for elem in self.filelist:
self.txt.insert(tkinter.INSERT,os.path.basename(elem) + "\n")
self.file = elem
self.txt.config(state = tkinter.DISABLED)
def save(self):
if not self.txt.get("1.0", tkinter.END):
print("blank")
else :
print(str(self.txt.get("1.0", tkinter.END)))
self.txt.config(state = tkinter.NORMAL)
#Do things...
#Clear all..
self.txt.delete('1.0', tkinter.END)
#self.txt.insert(tkinter.INSERT, "SAVED")
self.txt.config(state = tkinter.DISABLED)
if __name__ == '__main__':
Aplicacion()
有什么线索为什么还不给我东西呢?我已经阅读了一些相关的问题,但是答案对我不起作用。谢谢。