我在使用Tkinter将文件位置存储到我的脚本的条目小部件中时遇到了麻烦:
到目前为止,我能够使浏览按钮完美运行,但是,我无法确定我创建的变量值parent.filename
将文件位置存储到条目小部件中,如下图所示:
我的脚本如下:
from Tkinter import *
import ttk
from PIL import ImageTk, Image
import os
import Tkinter, Tkconstants, tkFileDialog
class arquivos:
def __init__(self, parent):
parent.title('TEXT MINING - HMB QA')
self.gif1 = PhotoImage(file = 'tteste.gif')
label1 = Label(image=self.gif1)
label1.image = self.gif1
label1.grid(row = 0, column = 0, rowspan=13, sticky=NW)
Label(parent, text='File URL:').grid(row=0, column=1, sticky='e')
self.v1=Entry(parent, width=90)
self.v1.grid(row=0, column=2, sticky='we',columnspan=8)
self.button3 = Button(parent, text = "Browse", command
=self.loadtemplate, width = 10, height=1)
self.button3.grid(row=0, column=10, columnspan=2, sticky='w')
Label(parent, text='Filter RO List:').grid(row=1, column=1,
sticky='e')
self.v2=Radiobutton(parent, text="YES", value=1)
self.v2.grid(row=1,column=2, columnspan=1, sticky='w')
parent=Tk()
arquivos(parent)
parent.mainloop(
关于函数loadtemplate
,遵循以下代码:
def loadtemplate(self):
parent.filename = StringVar()
parent.filename = tkFileDialog.askopenfilename(initialdir = "/",title
= "Select file",filetypes = (("jpeg files","*.jpg"),("all
files","*.*")))
print parent.filename
self.v20 = Entry(parent, textvariable=parent.filename, width=90)
self.v20.grid(row=0,column=2, sticky='we',columnspan=8)
当我点击Browse
按钮时弹出一个框,我可以选择文件目录:
分配用于存储文件位置的变量parent.filename
也有效,但是,我无法将变量值存储到条目窗口小部件self.v1
任何帮助都将受到高度赞赏
答案 0 :(得分:2)
您正在使用目标字符串覆盖StringVar
上的parent.filename
实例。使用set
方法设置变量类的值
parent.filename
中的对象。
替换:
parent.filename = tkFileDialog.askopenfilename(initialdir = "/",title
= "Select file",filetypes = (("jpeg files","*.jpg"),("all
files","*.*")))
使用:
parent.filename.set(tkFileDialog.askopenfilename(initialdir = "/",title
= "Select file",filetypes = (("jpeg files","*.jpg"),("all
files","*.*"))))