如何将文件位置存储到条目窗口小部件中--Tkinter

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将文件位置存储到条目窗口小部件中--Tkinter相关的知识,希望对你有一定的参考价值。

我在使用Tkinter将文件位置存储到我的脚本的条目小部件中时遇到了麻烦:

到目前为止,我能够完美地使用浏览按钮,但是,我无法确定我创建的变量值parent.filename将文件位置存储到条目小部件中,如下图所示:

enter image description here

我的脚本如下:

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

任何帮助将受到高度赞赏

答案

就像你用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","*.*"))))

以上是关于如何将文件位置存储到条目窗口小部件中--Tkinter的主要内容,如果未能解决你的问题,请参考以下文章

通过条目小部件添加到数据库中

使用 PIL 在 Tkinter Canvas 小部件中嵌入图像

移动 QMainWindow 不会影响子窗口小部件的绘制位置

Tkinter:如何将文本小部件中输入的文本保存到新窗口中?

小部件位置和窗口大小

在 Tkinter Python 中的条目小部件内设置默认插入符号位置