文档章节

Python学习(二):使用TKinter进行GUI程序设计

o
 osc_y8yehimr
发布于 2019/03/20 20:04
字数 411
阅读 0
收藏 0

小例子

Tkinter(T-K-Inter)模块包含创建各种GUI(图形用户界面设计)的类。Tk创建一个放置GUI小构件的窗口(即可视化组件)。

from tkinter import *   # 导入tkinter模块

window = Tk()   # 创建一个窗口(父容器)
label = Label(window, text="Welcome to Python")     # 创建一个标签(小构件类,其第一个参数永远是父容器)
button = Button(window, text="Click Me")     # 创建一个按钮
label.pack()     # 把标签放在窗口中(使用一个包管理器,将label放在容器中)
button.pack()     # 把按钮放在窗口中

window.mainloop()      # 创建一个事件循环,这个事件循环持续处理事件,直到关闭主窗口

 

处理事件

一个Tkinter小构件可以与一个函数绑定,当事件发生时被调用

from tkinter import *


class ProcessButtonEvent:
    def __init__(self):
        window = Tk()
        okButton = Button(window, text="OK", fg="red", command=self.processOk)  # 将okButton绑定到processOK函数,当按钮被单击时,这个函数将被调用。fg 指定按钮前景色,默认为黑色
        cancelButton = Button(window, text="CANCEL", fg="red", bg="yellow", command=self.processCancel)  #bg 指定按钮背景色,默认为灰色

        okButton.pack()
        cancelButton.pack()

        window.mainloop()

    def processOk(self):
        print("Ok button is clicked")

    def processCancel(self):
        print("Cancel button is clicked")


ProcessButtonEvent()

  程序定义了两个函数,processOk和processCancel,当创建这些函数时,这些函数被绑定到按钮。这些函数被称为回调函数处理器

  定义一个类来创建GUI和处理GUI事件有两个优点。首先,将来可以重复使用这个类;其次,将所有函数定义为方法可以让它们访问类中的实例数据域。

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

OSChina 周五乱弹 —— 你大妈还是你大妈

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @watergood:是时候分享一波我的这张纯音乐歌单了,过去的五年多时间里,我陆陆续续地把听到的好听的纯音乐添加了进去,目前一共65首,相信总...

小小编辑
今天
25
0
在Objective-C中生成随机数 - Generating random numbers in Objective-C

问题: I'm a Java head mainly, and I want a way to generate a pseudo-random number between 0 and 74. In Java I would use the method: 我主要是Java头,我想要一种生成0到74之间的伪随......

技术盛宴
今天
13
0
ftp-ftps-sftp的关系

Ftp FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作...

独钓渔
今天
12
0
使Vim将所有空格显示为字符 - Make Vim show ALL white spaces as a character

问题: I can't find a way to make Vim show all white spaces as a character. 我找不到让Vim将所有空白显示为字符的方法。 All I found was about tabs, trailing spaces etc. 我发现的只......

富含淀粉
今天
23
0
RN 接入高德地图遇到的一些问题

react-native-amap-geolocation、react-native-amap3d 1、iOS Geolocation.getCurrentPosition 获取坐标后,没有返回 address 信息? 逆地理编码 Android 默认返回逆地理编码,而 iOS 需要手...

Jack088
今天
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部