专栏首页Hongtenpython开发_tkinter_获取文本框内容_给文本框添加键盘输入事件

python开发_tkinter_获取文本框内容_给文本框添加键盘输入事件

在之前的blog中有提到python的tkinter中的菜单操作

下面是tkinter的获取文本框内容_给文本框添加键盘输入事件的操作

运行效果:

在输入的时候,单击回车键,触发:print_contents()

==========================================================

代码部分:

==========================================================

 1 from tkinter import *
 2 
 3 __author__ = {'name' : 'Hongten',
 4               'mail' : 'hongtenzone@foxmail.com',
 5               'blog' : 'http://www.cnblogs.com/',
 6               'QQ': '648719819',
 7               'created' : '2013-09-11'}
 8 
 9 # This program  shows how to make a typein box shadow a program variable.
10 flag = True
11 class App(Frame):
12     def __init__(self, master=None):
13         Frame.__init__(self, master)
14         self.pack()
15 
16         self.entrythingy = Entry(self)
17         self.entrythingy.pack()
18 
19         self.button = Button(self, text="Uppercase The Entry",
20                              command=self.upper)
21         self.button.pack()
22 
23         # here we have the text in the entry widget tied to a variable.
24         # changes in the variable are echoed in the widget and vice versa.
25         # Very handy.
26         # there are other Variable types. See Tkinter.py for all
27         # the other variable types that can be shadowed
28         self.contents = StringVar()
29         self.contents.set("this is a variable")
30         self.entrythingy.config(textvariable=self.contents)
31 
32         # and here we get a callback when the user hits return. we could
33         # make the key that triggers the callback anything we wanted to.
34         # other typical options might be <Key-Tab> or <Key> (for anything)
35         self.entrythingy.bind('<Key-Return>', self.print_contents)
36 
37     def upper(self):
38         # notice here, we don't actually refer to the entry box.
39         # we just operate on the string variable and we
40         # because it's being looked at by the entry widget, changing
41         # the variable changes the entry widget display automatically.
42         # the strange get/set operators are clunky, true...
43         global flag
44         flag = not flag
45         if not flag:
46             str = self.contents.get().upper()
47             self.contents.set(str)
48         else:
49             str = self.contents.get().lower()
50             self.contents.set(str)
51         print('the contents is : ', self.contents.get())
52 
53     def print_contents(self, event):
54         print("hi. contents of entry is now ---->", self.contents.get())
55 
56 root = App()
57 root.master.title("Foo")
58 root.mainloop()

参考资料:

http://www.oschina.net/code/explore/Python-3.1.3/Demo/tkinter/matt/entry-with-shared-variable.py

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • pygame系列_箭刺Elephant游戏_源码下载

    http://www.pygame.org/docs/tut/chimp/ChimpLineByLine.html

    Hongten
  • python开发_tkinter_单选按钮

    E | hongtenzone@foxmail.com  B | http://www.cnblogs.com/hongten

    Hongten
  • python开发_tkinter_小球完全弹性碰撞游戏_源码下载

    ===================================================

    Hongten
  • Head First Systrace

    深入浅出systrace(1)systrace的简单介绍和systrace工具源码分析。

    宅男潇涧
  • 打卡群刷题总结0723——组合

    链接:https://leetcode-cn.com/problems/combinations

    木又AI帮
  • 用树莓派搭建一个实时视频监控系统

    最近在GitHub上发现一个好玩的项目,不用安装其它任何依赖包,只要运行一个Python脚本就可以搭建一个实时视频监控系统。

    小雨编程
  • 深度强化学习-Policy Gradient基本实现

    在之前的几篇文章中,我们介绍了基于价值Value的强化学习算法Deep Q Network。有关DQN算法以及各种改进算法的原理和实现,可以参考之前的文章: 实...

    石晓文
  • Python基础09 面向对象的进一步拓展

    我们熟悉了对象和类的基本概念。我们将进一步拓展,以便能实际运用对象和类。 调用类的其它信息 上一讲中提到,在定义方法时,必须有self这一参数。这个参数表示某个...

    Vamei
  • python中@property和pro

    py3study
  • Python基础09 面向对象的进一步拓展

    我们熟悉了对象和类的基本概念。我们将进一步拓展,以便能实际运用对象和类。 调用类的其它信息 上一讲中提到,在定义方法时,必须有self这一参数。这个参数表示某个...

    Vamei

扫码关注云+社区

领取腾讯云代金券