Tkinter学习笔记-2

事件处理模型

GUI组件根据用户的交互情况生成事件

异步事件驱动的程序:程序将事件绑定到图形组件上,并实现了事件的处理程序(回调函数)来处理GUI事件

文本框

用于输入文本,程序员用来显示文本

通过Entry类创建

用户按下Enter键触发Entry组件的<Return>事件

 1 # SimpleEntry.py
 2 # Entry compnents and event binding demonstration
 3
 4 from Tkinter import *
 5 from tkMessageBox import *
 6
 7 class EntryDemo( Frame ):
 8     """ Demonstrate Entrys and Event binding """
 9
10     def __init__(self):
11         """ Create, pack and bind events to four Entrys """
12
13         Frame.__init__( self )
14         self.pack( expand = YES, fill = BOTH )
15         self.master.title( "Testing Entry Components" )
16         self.master.geometry( "325x100" ) # width x length
17
18         self.frame1 = Frame( self )
19         self.frame1.pack( pady = 5 )
20
21         self.text1 = Entry( self.frame1, name = "text1" )
22
23         # bind the Entry component to event
24         self.text1.bind( "<Return>", self.showContents )
25         self.text1.pack( side = LEFT, padx = 5 )
26
27         self.text2 = Entry( self.frame1, name = "text2" )
28
29         # insert text into Entry component text2
30         self.text2.insert( INSERT, "Enter text here" )
31         self.text2.bind("<Return>", self.showContents )
32         self.text2.pack( side = LEFT, padx = 5 )
33
34         self.frame2 = Frame( self )
35         self.frame2.pack( pady = 5 )
36
37         self.text3 = Entry( self.frame2, name = "text3" )
38         self.text3.insert( INSERT, "Uneditable text field" )
39
40         # prohibit user from altering text in Entry component text3
41         self.text3.config( state = DISABLED )
42         self.text3.bind("<Return>", self.showContents )
43         self.text3.pack( side = LEFT, padx = 5 )
44
45         # text in Entry component text4 appears as *
46         self.text4 = Entry(self.frame2, name = "text4", show = "*" )
47         self.text4.bind("<Return>", self.showContents )
48         self.text4.pack( side = LEFT, padx = 5 )
49
50     def showContents( self, event ):
51         """ Display the contents of the Entry """
52
53         # acquire name of Entry component that genereated event
54         theName = event.widget.winfo_name()
55
56         # acquire contents of Entry component that generated event
57         theContents = event.widget.get()
58         showinfo( "Message", theName + ":" + theContents)
59
60
61 demo = EntryDemo()
62
63 demo.mainloop()
时间: 2024-11-01 14:35:38

Tkinter学习笔记-2的相关文章

Python:GUI之tkinter学习笔记1控件的介绍及使用

相关内容: tkinter的使用 1.模块的导入 2.使用 3.控件介绍 Tk Button Label Frame Toplevel Menu Menubutton Canvas Entry Message Text Listbox Checkbutton Radiobutton Scale Scrollbar 首发时间:2018-03-04 16:39 Python的GUI各有各特点. 由于只是轻微涉及GUI开发,所以就以轻量级的tkinter来学习. tkinter的使用: 1.模块的导入

Python Tkinter 学习笔记(二)Hello_again

#hello_again.py from tkinter import * class App: def __init__(self,master): frame = Frame(master) frame.pack() self.button = Button( frame, text="关闭",fg="blue",command=frame.quit )#也可以用foreground代替fg(缩写) self.button.pack(side=LEFT) sel

Tkinter学习笔记-1

Tkinter python标准GUI包,提供了Tk GUI工具箱的OO接口 每个组件继承自Widget类 GUI由包含子组件的顶层组件构成 Frame类作为顶层组件 标签 显示文本.图片.提示信息 通过Label类创建 1 # SimpleLabel.py 2 # Label demonstration 3 4 from Tkinter import * 5 6 class LabelDemo( Frame ): 7 """ Demonstrate Labels"

Python Tkinter 学习笔记(第一个简单窗口的创建)

#from Tkinter import * """ 需要使用小写的tkinter """ from tkinter import * root = Tk() w = Label(root,text="Hello fudianheg") w.pack() root.mainloop() """ import的(tkinter)包含了所有的类,函数还有其它TK toolkit工作需要的东西大多数情况

Python:GUI之tkinter学习笔记2界面布局显示

相关内容: pack 介绍 常用参数 使用情况 常用函数 grid 介绍 常用参数 使用情况 常用函数 place 介绍 常用参数 使用情况 常用函数 首发时间:2018-03-04 14:20 pack: 介绍: pack几何管理器按行或列打包小部件. 可以使用填充fill,展开expand和靠边side等选项来控制此几何体管理器. pack的排放控件的形式就像将一个个控件按大小从上到下放过去 在窗口不设定大小的而使用pack进行布局的情况下,窗口默认大小为刚好包裹所有控件的大小 默认情况下添

python基础教程_学习笔记23:图形用户界面

图形用户界面 丰富的平台 在编写Python GUI程序前,需要决定使用哪个GUI平台. 简单来说,平台是图形组件的一个特定集合,可以通过叫做GUI工具包的给定Python模块进行访问. 工具包 描述 Tkinter 使用Tk平台.很容易得到.半标准. wxpython 基于wxWindows.跨平台越来越流行. PythonWin 只能在Windows上使用.使用了本机的Windows GUI功能. JavaSwing 只能用于Jython.使用本机的Java GUI. PyGTK 使用GTK

python &nbsp; 学习笔记 (核心)

python    学习笔记 (核心) Python解释器从头到尾一行接一行执行脚本 # -*- coding: UTF-8 -*-    //字符编码 不区分单引号和双引号,x='hello',x[0],x[-1]指最后一个字符,x[2:4]取子串, '''hello''' #hello三引号会保留文本输入时的换行符制表符等不需要转义,用于多行原样输入保存 'hello'+'world' #字符串拼接,'hello'*2 #字符串重复 help(fun) #帮助,help(module.met

vector 学习笔记

vector 使用练习: /**************************************** * File Name: vector.cpp * Author: sky0917 * Created Time: 2014年04月27日 11:07:33 ****************************************/ #include <iostream> #include <vector> using namespace std; int main

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则 用了几天时间看了一下开源框架Caliburn.Micro 这是他源码的地址http://caliburnmicro.codeplex.com/ 文档也写的很详细,自己在看它的文档和代码时写了一些demo和笔记,还有它实现的原理记录一下 学习Caliburn.Micro要有MEF和MVVM的基础 先说一下他的命名规则和引导类 以后我会把Caliburn.Micro的 Actions IResult,IHandle ICondu