Python-Tkinter 使用for循环生成列表式Button及函数调用
Tkinter是轻量级的图形化界面,在使用中我们可能遇到需要生成一串Button按钮的情况,如图:

如果一个一个操作就太麻烦了,但我们可以通过for循环列表的形式来实现
来看看以下例子:
from tkinter import *
def printf_button(f):
    print('press button:',f)
if __name__ == '__main__':
    root = Tk()
    ButtonList = [0,0,0,0,0,0,0]#创建储存按钮对象的列表
    ValueList = ['1','2','3','4','5','6','7']#创建按钮文字的列表
    sx = 20
    for i in range(0,7):
        ButtonList[i] = Button(width=6,height=2,text=ValueList[i],command=lambda f=ValueList[i]:printf_button(f))
        ButtonList[i].place(x=sx,y=20)
        sx+=60
    root.mainloop()
执行以上代码后,我们得到如下效果:

至此,我们成功实现生成列表式Button按钮
通过访问ButtonList的下标就可对按钮对象进行操作了
Python-Tkinter 使用for循环生成列表式Button及函数调用的更多相关文章
- Python for循环生成列表
		一般Python for语句前不加语句,但我在机器学习实战中看到了这两条语句: featList = [example[i] for example in dataSet] classList = [ ... 
- python基础练习,循环、列表、字典、数组
		# encoding: utf-8 ''' @author: mark @file: 20200214.py @time: 2020/2/14 14:21 @software: PyCharm ''' ... 
- python学习笔记1 循环、列表、元祖、数据类型
		if语法:基于python3语法 if a<b: 冒号结尾 print("yes") 注意语句的缩进需要一致,不然会报语法错误. elif a==b: print(" ... 
- 廖雪峰老师博客学习《通过生成器generator生成列表式杨辉三角》
		说明:这是我接触生成器概念后,自己对它的理解,可能比较表面,没深入理解,也可能有错误.后续校正错误认知,将有关generator作为一个tag了! 希望以后能活用. 先贴出自己写的triangles( ... 
- [Python] for in单行循环生成dict
		for循环体内的语句只有一行的情况的下,可以简化for循环的书写,尤其当你需要生成一个可迭代对象的时候 d = {x:x*10 for x in range(3)} print(d) d1 = [x* ... 
- Python之路-条件控制&循环语句&列表推导式&常用函数
		一.什么是条件控制语句 条件控制语句,也可以称之为判断语句,通过一条或多条的执行结果来决定接下来要执行的代码块. 二.if语句 if语句是用来进行判断的,最简答的if语句只有一个判断一个操作. 语法: ... 
- python基础2(数据类型、数据运算、for循环、while循环、列表)
		1.数据类型 python使用对象模型来存储数据,每一个数据类型都有一个内置的类,每新建一个数据,实际就是一个对象,即所有数据都是对象. 对象的3个特性: 身份:即内存地址,可以用id()来获取 类型 ... 
- LiveScript 流程控制、循环以及列表推导式
		The LiveScript Book The LiveScript Book Generators and Yield 你可以在你的 LiveScript 代码中使用 Ecmascript ... 
- 用列表+for循环生成乘法口诀表
		1 # 结合一下列表生成, 准备设计乘法表 2 # numlist = [1,2,3,4,5] 3 # [pow(i,3) for i in numlist] 4 # ## [1, 8, 27, 64 ... 
随机推荐
- AMP & PWA
			AMP & PWA AMP is a web component framework to easily create user-first websites. stories. ads. e ... 
- Flutter Demo: 径向菜单动画
			video import 'dart:math'; import 'package:flutter/material.dart'; import 'package:vector_math/vector ... 
- 创新全球算力生态价值,SPC算力生态强势来袭!
			当前,区块链技术已经到了一个新的时代,即3.0时代.在区块链3.0时代,区块链技术迎来了数字经济革命,各行各业也在积极寻找与区块链能够融合的切入点.而随着区块链的愈加成熟,区块链技术也愈加被更多的人应 ... 
- Codeforces 1485F Copy or Prefix Sum
			题目链接 点我跳转 题目大意 给定一个长度为 \(N\) 的序列 \(bi\) 问有多少个长度为 \(N\) 的序列 \(a\) 使得 \(b[i] = a[i]\) 或 \(b[i] = ∑a[j] ... 
- 使用docker mediawiki,搭建网页wiki
			我只是想做一个大家都能访问的wiki,用于成员间共享和维护一些文档.找到了docker的mediawiki,这里记录一下我怎么搭的吧. 首先,如果你在一个局域网里,有公用的可以访问的服务器,那可以直接 ... 
- Python 与 excel的简单应用
			1.pip openpyxl库: pip install openpyxl -i http://pypi.douban.com/simple --trust-host pypi.douban.com ... 
- mbatis中的#{}和${}
			#{}和${}的区别是什么?a.#{}是预编译处理,${}是字符串替换. b.Mybatis 在处理#{}时,会将 sql 中的#{}替换为?号,调用 PreparedStatement 的 set ... 
- ElasticSearcher的安装以及安装过程中出现的问题
			先给出参考链接,带安装成功后再进行总结整个过程. 参考链接:https://blog.csdn.net/fjyab/article/details/81101284 java操作ElasticSear ... 
- JavaScript:什么是回调?
			翻译练习 原博客地址:JavaScript: What the heck is a Callback? 在6分钟内通过简单的例子学习和理解回调的基本原理. 什么是回调? 简单地说:回调就是一个在另一个 ... 
- Springboot项目架构设计
			导航 前言 流水线 架构的艺术 项目架构 理解阿里应用分层架构 superblog项目架构 结语 参考 本节是<Spring Boot 实战纪实>的第7篇,感谢您的阅读,预计阅读时长3mi ... 
