免费注册 查看新帖 |

Chinaunix

广告
  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5552 | 回复: 8
打印 上一主题 下一主题

tkFileDialog的使用问题,求教 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-03-01 14:01 |只看该作者 |倒序浏览
最近需要使用tkFileDialog,使用一个Button来绑定:
button = Button(self.top, command=tkFileDialog.askopenfilename)
我想知道的是我怎么能把tkFileDialog.askopenfilename的返回值写入到一个Entry中呢?

论坛徽章:
5
技术图书徽章
日期:2014-04-18 08:52:38午马
日期:2014-04-30 13:28:11摩羯座
日期:2014-11-07 13:34:122015年亚洲杯之日本
日期:2015-03-12 14:01:4915-16赛季CBA联赛之北京
日期:2017-06-28 17:25:56
2 [报告]
发表于 2013-03-05 08:40 |只看该作者
回复 1# young_py


    self.bu1=Tkinter.Button(self.top, command=command1)
    self.str1=Tkinter.StringVar()
    self.entry1=Tkinter.Entry(self.frame,textvariable=self.str1)
    def command1(self,event=None):
         self.str1.set( tkFileDialog.askopenfilename(initialdir = 'D:'))

论坛徽章:
0
3 [报告]
发表于 2013-03-05 11:08 |只看该作者
回复 2# murdercool
谢了,这个问题我自己已经解决了,不过遇到一个新问题,就是我有一个循环,我想把每次的循环次数实时显示到一个Entry中或是Label中,但是操作起来的话,都只能显示最后一次的次数,不能实时显示,请问这个问题应该如何解决


   

论坛徽章:
5
技术图书徽章
日期:2014-04-18 08:52:38午马
日期:2014-04-30 13:28:11摩羯座
日期:2014-11-07 13:34:122015年亚洲杯之日本
日期:2015-03-12 14:01:4915-16赛季CBA联赛之北京
日期:2017-06-28 17:25:56
4 [报告]
发表于 2013-03-05 12:31 |只看该作者
本帖最后由 murdercool 于 2013-03-05 12:31 编辑

。。实在看不太懂你说的什么意思。。。

论坛徽章:
0
5 [报告]
发表于 2013-03-05 15:49 |只看该作者
回复 4# murdercool
{:3_204:} 我的表达水平确实不高啊,重新描述一下:
有一个按钮,有一个Entry,要实现的功能是,点击一下按钮,循环执行100次,每循环了一次都在Entry中显示出当前已经循环的次数,现在的问题是我不知道怎么把每次循环的次数都实时的Entry中显示出来


   

论坛徽章:
5
技术图书徽章
日期:2014-04-18 08:52:38午马
日期:2014-04-30 13:28:11摩羯座
日期:2014-11-07 13:34:122015年亚洲杯之日本
日期:2015-03-12 14:01:4915-16赛季CBA联赛之北京
日期:2017-06-28 17:25:56
6 [报告]
发表于 2013-03-05 17:25 |只看该作者
本帖最后由 murdercool 于 2013-03-15 09:46 编辑

回复 5# young_py


   瞎猜是不是如下效果。。
  1. import Tkinter
  2. import threading,time
  3. root=Tkinter.Tk()
  4. class myframe(Tkinter.Frame):
  5.     def __init__(self,master):
  6.         Tkinter.Frame.__init__(self, master)
  7.         self.str1=Tkinter.StringVar()
  8.         self.entry1=Tkinter.Entry(self,textvariable=self.str1)
  9.         self.entry1.pack()
  10.         self.bu1=Tkinter.Button(self,text="number",command=self.count)
  11.         self.bu1.pack()
  12.     def count(self,event=None):
  13.         k=threading.Thread(target=self.sleep3)
  14.         k.setDaemon(True)
  15.         k.start()
  16.     def sleep3(self):
  17.         for  i in xrange(10):
  18.             time.sleep(2)
  19.             self.str1.set(i)
  20. class test:
  21.     def __init__(self,master):
  22.         self.frame1=myframe(master)
  23.         self.frame1.pack()
  24. a=test(root)
  25. root.geometry('400x200')
  26. root.mainloop()
复制代码

论坛徽章:
0
7 [报告]
发表于 2013-03-13 13:07 |只看该作者
回复 6# murdercool

怎么理解a=test(root)?
   

论坛徽章:
0
8 [报告]
发表于 2013-03-13 15:28 |只看该作者
回复 6# murdercool

还有如果是两个进程,一个进程用来实时显示,一个用来写入文件,应该怎么做?
我试了一下,没搞定
   

论坛徽章:
5
技术图书徽章
日期:2014-04-18 08:52:38午马
日期:2014-04-30 13:28:11摩羯座
日期:2014-11-07 13:34:122015年亚洲杯之日本
日期:2015-03-12 14:01:4915-16赛季CBA联赛之北京
日期:2017-06-28 17:25:56
9 [报告]
发表于 2013-03-15 09:36 |只看该作者
本帖最后由 murdercool 于 2013-03-15 09:37 编辑

回复 8# young_py


    写入文件 ?
  1.     def sleep3(self):

  2.         for  i in xrange(10):
  3.             time.sleep(2)
  4.             self.str1.set(i)
  5.             f=file('count.log','a')
  6.             f.write(time.strftime('%Y-%m-%d %H:%M:%S    ')+str(i)+"\n")
  7.             f.close()
复制代码
这样就行了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP