python写gui、主体程序必须放进函数里吗_Python学习(二):使用TKinter进行GUI程序设计...
小例子
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事件有两个优点。首先,将来可以重复使用这个类;其次,将所有函数定义为方法可以让它们访问类中的实例数据域。
python写gui、主体程序必须放进函数里吗_Python学习(二):使用TKinter进行GUI程序设计...相关推荐
- python抽奖游戏_利用Python写一个抽奖程序,解密游戏内抽奖的秘密
原标题:利用Python写一个抽奖程序,解密游戏内抽奖的秘密 前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 极客 ...
- python打开word后再关闭再打开出错_用Python写了个程序调用word,运行完后再手动打开word文档就变慢了,这是为啥?...
公司归档文件比较麻烦,于是用Python写了个程序自动归档,运行无错误.但是运行完后问题就来了,自己手动打开word文档时速度变得奇慢,打开一个文档需要1~2min,请各位同仁帮我看看.下为源代码 # ...
- python实现抽奖软件(一)_详解用python写一个抽奖程序
第一次使用python写程序,确实比C/C++之类方便许多.既然这个抽奖的数据不大,对效率要求并不高,所以采用python写,更加简洁.清晰.方便. 1.用到的模块 生成随机数的模块random 用来 ...
- 看我们如何“把大象放进冰箱里”
一.数学家的办法 转自MITBBS 把大象放到冰箱里的分析学方法 1)先把大象微分,然后把它放到冰箱里,再在冰箱里把它积分. 2)重新定义冰箱或者大象的测度(如Radon测度). 3)用Banach- ...
- 把Linux放进软盘里zz
[原创] 把Linux放进软盘里 http://www.chinaunix.net 作者:tigerlei 发表于:2006-03-01 18:16:25 [发表评论][查看原文][Linux讨论区 ...
- 把Linux放进软盘里
感谢 zhl1979 指出我的N多错误 (汗......) 已经修正. 把Linux放进软盘里 笔者的同事最近在测试AMD 64bit CPU时,遇到这样一个问题:当插入含有AMD官方软件Maxpow ...
- LeetCode 1580. 把箱子放进仓库里 II(排序)
文章目录 1. 题目 2. 解题 1. 题目 给定两个正整数数组 boxes 和 warehouse ,分别包含单位宽度的箱子的高度,以及仓库中n个房间各自的高度. 仓库的房间分别从0 到 n - 1 ...
- LeetCode 1564. 把箱子放进仓库里 I(排序)
文章目录 1. 题目 2. 解题 1. 题目 给定两个正整数数组 boxes 和 warehouse ,分别包含单位宽度的箱子的高度,以及仓库中 n 个房间各自的高度. 仓库的房间分别从 0 到 n ...
- Leetcode 1564 把箱子放进仓库里1
Leetcode 1564 把箱子放进仓库里1 题目描述:给定两个正整数数组 boxes 和 warehouse ,分别包含单位宽度的箱子的高度,以及仓库中 n 个房间各自的高度.仓库的房间分别从 0 ...
最新文章
- windows系统服务器数据库,windows系统的服务器肿么访问数据库
- 《R语言实战》读书笔记--第一章 R语言介绍
- linux内核2018,CVE-2018-1000001 linux kernel
- spring-在配置文件中配置DAO时直接引用DataSource
- LeetCode 1027. 最长等差数列(DP)
- 美术学考计算机,艺术设计专业能跨专业考计算机研究生吗?
- layui 传递前端请求_Layui数据表格 前后端json数据接收的方法
- 获取Authorize.Net Transaction Key ( Getting Your Authorize.Net Transaction Key )
- 巨人退场!索尼前CEO平井一夫正式退休 结束35年索尼生涯
- 解决vscode中Module ‘torch‘ has no ‘xxx‘ member的烦人错误
- 《剑指 Offer I》刷题笔记 11 ~ 19 题
- 电力拖动自动控制系统_一、自动化专业电气工程及其自动化
- C++/C语言-基本语法
- oracle批量清除会话,oracle快速彻底清理kill会话
- 【微信小程序】全局分享和页面分享
- StratifiedKFold实现分层抽样
- 给input[text]添加icon,并且绑定事件
- 父亲节python代码半个心_2019父亲节感恩父亲的话 父亲节对爸爸说的暖心话句子...
- 应用实战|微信小程序开发示例之在线商城
- Mac 系统重装/启动盘制作
热门文章
- debug跳出循环_Java基础-第04章:循环结构「云图智联」
- java对unicode转码,Unicode编码和中文互转(JAVA实现)
- 人脸关键点:DAN-Deep Alignment Network: A convolutional neural network for robust face alignment
- I - Arbitrage(判断是否有无正环 II)
- Java 实验5 T3 将十进制转换为二进制
- 语义分割之Deeplabv3源码解读
- 【面试经典】redis 常见数据结构以及使用场景分析
- Struts2工作流程
- Badboy录制及参数化详细步骤来一波
- C#-WinForm-布局-Anchor-锁定布局、Dock-填充布局、工具箱中的容器