Python Tinker学习笔记
一直在简单看看python,这次项目需要做个界面,最好是要跨平台的,之前考虑QT,但是树莓派上QT跨平台编译一直装这有问题,后来发现Python不就可以么?
于是决定用python做个界面,但是做界面貌似不如QT图形化界面那么简单。最后发现了Python带的Tinker界面编程,很多控件都可以通过语言进行创建,还不是很习惯。分享下我的简单学习控件心得。
TK 简要描述
TK 是与 TCL 语言关系最密切、且被广泛使用的图形库,TCL 语言和 TK 都由 John Ousterhout 开发。虽然 TK 于 1991 年作为 X11 库出现,但实际上它从那时起就被移植到每一种流行的 GUI。(它与 Python 逐渐拥有“标准”GUI 的情形相似。)现在,大多数流行语言和很多小型语言都有 TK 绑定(Tkinter 模块)。
学习基本知识
实际上,Tkinter 程序只需做三件事:
最小的 Tkinter程序代码(基于Python3,Python2略有区别)
from tkinter import * # importthe Tkinter module
root = Tk() # create a rootwindow
root.mainloop() # create an eventloop
欢迎点击链接加入群聊【程序代写-接单群】共同致富:https://jq.qq.com/?_wv=1027&k=5WxihsL
群号:733065427
一 按钮
Tkinter 按钮组件用于在 Python 应用程序中添加按钮,按钮上可以放上文本或图像,按钮可用于监听用户行为,能够与一个 Python 函数关联,当按钮被按下时,自动调用该函数。
应用的方式:w = Button ( master, option=value, ... )
master: 按钮的父容器。
options: 可选项,即该按钮的可设置的属性。这些选项可以用键 = 值的形式设置,并以逗号分隔。
实例:
- from tkinter import * # import the Tkinter module
- def pressOk():
- print("button is press")
- def pressCancle():
- print("button is released")
- root = Tk() # create a root window
- button1 = Button(root,text="打开",fg="black",command=pressOk)
- button1.pack()
- root.mainloop() # create an event loop
复制代码
运行结果:
![]()
二 Combobox
Combobox是一个下拉列表选择框,在界面很多场景都会用到。
例如串口助手选择串口的COM口,选择波特率的数值,选择数据的位数、选择奇偶校验等等,再例如网络调试助手选择TCP UDP等等模式。应用简单且广泛。
To create a ttk.Combobox widget as the child of a given parent widget:
w = ttk.Combobox(parent, option=value, ...)![]()
实例:
- import tkinter
- from tkinter import ttk
- from tkinter import *
- def go(*args): #处理事件,*args表示可变参数
- print(comboxlist.get()) #打印选中的值
- win=tkinter.Tk() #构造窗体
- comvalue=tkinter.StringVar()#窗体自带的文本,新建一个值
- comboxlist=ttk.Combobox(win,textvariable=comvalue) #初始化
- comboxlist["values"]=("1","2","3","4")
- comboxlist.current(0) #选择第一个
- comboxlist.bind("<<ComboboxSelected>>",go) #绑定事件,(下拉列表框被选中时,绑定go()函数)
- comboxlist.pack()
- win.mainloop()
复制代码
运行结果:
下拉框里分别是1,2,3,4![]()
三、 LABEL
LABEL用途也很广泛,以前用QT C#等图形化编程的时候,都是直接拖拽控件,然后输入要输入的字符就行了,TK得自己找到方法创建LABEL,输入的内容也得自己在语言里搞定,暂时不是很习惯!
属性
text 要现实的文本
bg 背景颜色
font 字体(颜色, 大小)
width 控件宽度
height 控件高度
运行结果:
![]()
Python Tinker学习笔记的更多相关文章
- 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL
周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...
- Python Click 学习笔记(转)
原文链接:Python Click 学习笔记 Click 是 Flask 的团队 pallets 开发的优秀开源项目,它为命令行工具的开发封装了大量方法,使开发者只需要专注于功能实现.恰好我最近在开发 ...
- 0003.5-20180422-自动化第四章-python基础学习笔记--脚本
0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...
- Python Flask学习笔记之模板
Python Flask学习笔记之模板 Jinja2模板引擎 默认情况下,Flask在程序文件夹中的templates子文件夹中寻找模板.Flask提供的render_template函数把Jinja ...
- Python Flask学习笔记之Hello World
Python Flask学习笔记之Hello World 安装virtualenv,配置Flask开发环境 virtualenv 虚拟环境是Python解释器的一个私有副本,在这个环境中可以安装私有包 ...
- 获取字段唯一值工具- -ArcPy和Python案例学习笔记
获取字段唯一值工具- -ArcPy和Python案例学习笔记 目的:获取某一字段的唯一值,可以作为工具使用,也可以作为函数调用 联系方式:谢老师,135-4855-4328,xiexiaokui# ...
- Python高级学习笔记
Python高级学习笔记,此笔记中包含Linux操作系统.Html+CSS+JS.网络协议等. 所有思维导图为本人亲手所画,请勿用于商用. 大哥们,求点赞哦. 第一天笔记:链接 第二天笔记:链接 第三 ...
- Python入门学习笔记4:他人的博客及他人的学习思路
看其他人的学习笔记,可以保证自己不走弯路.并且一举两得,即学知识又学方法! 廖雪峰:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958 ...
- Python 基础学习笔记(超详细版)
1.变量 python中变量很简单,不需要指定数据类型,直接使用等号定义就好.python变量里面存的是内存地址,也就是这个值存在内存里面的哪个地方,如果再把这个变量赋值给另一个变量,新的变量通过之前 ...
随机推荐
- L2范数归一化概念和优势
1 归一化处理 归一化是一种数理统计中常用的数据预处理手段,在机器学习中归一化通常将数据向量每个维度的数据映射到(0,1)或(-1,1)之间的区间或者将数据向量的某个范数映射为1,归一化 ...
- git版本控制系统重新认识
git 版本控制系统 目标:完全搞懂git分布式版本控制系统 搭建git版本控制系统 cvs集中化版本控制系统--集中式管理的服务器 git分布式版本控制系统--会将原始代码仓库镜像下来 新项目使用g ...
- TCP(上)
tcp头格式: TCP状态位: SYN表示建立连接, FIN表示关闭连接, ACK表示响应, PSH表示有 DATA数据传输, RST表示连接重置. TCP窗口: TCP 要做流量控制,通信双方各声明 ...
- C#中using的用途
using System; --主命名空间,包含所有.net基础类型和通用类型,比如Object, ...
- springboot整合redis缓存一些知识点
前言 最近在做智能家居平台,考虑到家居的控制需要快速的响应于是打算使用redis缓存.一方面减少数据库压力另一方面又能提高响应速度.项目中使用的技术栈基本上都是大家熟悉的springboot全家桶,在 ...
- md5 helper
public static string ToMD5Hash(this string str) { if (string.IsNullOrEmpty(str)) return null; return ...
- Flask基础原理
一.Flask简介 Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架. Werkzeug的本质是Socket服务端,用于接收http请求并对请 ...
- 预编译And作用域链
首先要理解什么是预编译: 预编译就是在JS执行前的一瞬间创建一个AO对象,这个创建AO的过程叫做预编译. console.log(a) var a = 1; function c(b){ b = 10 ...
- 关于INT_MIN
来自为知笔记(Wiz)
- Android笔记(十四) Android中的基本组件——按钮
Android中的按钮主要包括Button和ImageButton两种,Button继承自TextView,而ImageButton继承自ImageView.Button生成的按钮上显示文字,而Ima ...