小例子

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程序设计...相关推荐

  1. python抽奖游戏_利用Python写一个抽奖程序,解密游戏内抽奖的秘密

    原标题:利用Python写一个抽奖程序,解密游戏内抽奖的秘密 前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 极客 ...

  2. python打开word后再关闭再打开出错_用Python写了个程序调用word,运行完后再手动打开word文档就变慢了,这是为啥?...

    公司归档文件比较麻烦,于是用Python写了个程序自动归档,运行无错误.但是运行完后问题就来了,自己手动打开word文档时速度变得奇慢,打开一个文档需要1~2min,请各位同仁帮我看看.下为源代码 # ...

  3. python实现抽奖软件(一)_详解用python写一个抽奖程序

    第一次使用python写程序,确实比C/C++之类方便许多.既然这个抽奖的数据不大,对效率要求并不高,所以采用python写,更加简洁.清晰.方便. 1.用到的模块 生成随机数的模块random 用来 ...

  4. 看我们如何“把大象放进冰箱里”

    一.数学家的办法 转自MITBBS 把大象放到冰箱里的分析学方法 1)先把大象微分,然后把它放到冰箱里,再在冰箱里把它积分. 2)重新定义冰箱或者大象的测度(如Radon测度). 3)用Banach- ...

  5. 把Linux放进软盘里zz

    [原创] 把Linux放进软盘里 http://www.chinaunix.net 作者:tigerlei  发表于:2006-03-01 18:16:25 [发表评论][查看原文][Linux讨论区 ...

  6. 把Linux放进软盘里

    感谢 zhl1979 指出我的N多错误 (汗......) 已经修正. 把Linux放进软盘里 笔者的同事最近在测试AMD 64bit CPU时,遇到这样一个问题:当插入含有AMD官方软件Maxpow ...

  7. LeetCode 1580. 把箱子放进仓库里 II(排序)

    文章目录 1. 题目 2. 解题 1. 题目 给定两个正整数数组 boxes 和 warehouse ,分别包含单位宽度的箱子的高度,以及仓库中n个房间各自的高度. 仓库的房间分别从0 到 n - 1 ...

  8. LeetCode 1564. 把箱子放进仓库里 I(排序)

    文章目录 1. 题目 2. 解题 1. 题目 给定两个正整数数组 boxes 和 warehouse ,分别包含单位宽度的箱子的高度,以及仓库中 n 个房间各自的高度. 仓库的房间分别从 0 到 n ...

  9. Leetcode 1564 把箱子放进仓库里1

    Leetcode 1564 把箱子放进仓库里1 题目描述:给定两个正整数数组 boxes 和 warehouse ,分别包含单位宽度的箱子的高度,以及仓库中 n 个房间各自的高度.仓库的房间分别从 0 ...

最新文章

  1. windows系统服务器数据库,windows系统的服务器肿么访问数据库
  2. 《R语言实战》读书笔记--第一章 R语言介绍
  3. linux内核2018,CVE-2018-1000001 linux kernel
  4. spring-在配置文件中配置DAO时直接引用DataSource
  5. LeetCode 1027. 最长等差数列(DP)
  6. 美术学考计算机,艺术设计专业能跨专业考计算机研究生吗?
  7. layui 传递前端请求_Layui数据表格 前后端json数据接收的方法
  8. 获取Authorize.Net Transaction Key ( Getting Your Authorize.Net Transaction Key )
  9. 巨人退场!索尼前CEO平井一夫正式退休 结束35年索尼生涯
  10. 解决vscode中Module ‘torch‘ has no ‘xxx‘ member的烦人错误
  11. 《剑指 Offer I》刷题笔记 11 ~ 19 题
  12. 电力拖动自动控制系统_一、自动化专业电气工程及其自动化
  13. C++/C语言-基本语法
  14. oracle批量清除会话,oracle快速彻底清理kill会话
  15. 【微信小程序】全局分享和页面分享
  16. StratifiedKFold实现分层抽样
  17. 给input[text]添加icon,并且绑定事件
  18. 父亲节python代码半个心_2019父亲节感恩父亲的话 父亲节对爸爸说的暖心话句子...
  19. 应用实战|微信小程序开发示例之在线商城
  20. Mac 系统重装/启动盘制作

热门文章

  1. debug跳出循环_Java基础-第04章:循环结构「云图智联」
  2. java对unicode转码,Unicode编码和中文互转(JAVA实现)
  3. 人脸关键点:DAN-Deep Alignment Network: A convolutional neural network for robust face alignment
  4. I - Arbitrage(判断是否有无正环 II)
  5. Java 实验5 T3 将十进制转换为二进制
  6. 语义分割之Deeplabv3源码解读
  7. 【面试经典】redis 常见数据结构以及使用场景分析
  8. Struts2工作流程
  9. Badboy录制及参数化详细步骤来一波
  10. C#-WinForm-布局-Anchor-锁定布局、Dock-填充布局、工具箱中的容器