一直在简单看看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://item.taobao.com/item.htm?spm=a230r.1.14.59.255028c3ALNkZ0&id=586797758241&ns=1&abbucket=15#detail

欢迎点击链接加入群聊【程序代写-接单群】共同致富:https://jq.qq.com/?_wv=1027&k=5WxihsL

群号:733065427

一 按钮

Tkinter 按钮组件用于在 Python 应用程序中添加按钮,按钮上可以放上文本或图像,按钮可用于监听用户行为,能够与一个 Python 函数关联,当按钮被按下时,自动调用该函数。

应用的方式:w = Button ( master, option=value, ... )

master: 按钮的父容器。

options: 可选项,即该按钮的可设置的属性。这些选项可以用键 = 值的形式设置,并以逗号分隔。

实例:

  1. from tkinter import * # import the Tkinter module
  2. def pressOk():
  3. print("button is press")
  4. def pressCancle():
  5. print("button is released")
  6. root = Tk() # create a root window
  7. button1 = Button(root,text="打开",fg="black",command=pressOk)
  8. button1.pack()
  9. 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, ...)

实例:

  1. import tkinter
  2. from  tkinter  import ttk
  3. from tkinter import *
  4. def go(*args):   #处理事件,*args表示可变参数
  5. print(comboxlist.get()) #打印选中的值
  6. win=tkinter.Tk() #构造窗体
  7. comvalue=tkinter.StringVar()#窗体自带的文本,新建一个值
  8. comboxlist=ttk.Combobox(win,textvariable=comvalue) #初始化
  9. comboxlist["values"]=("1","2","3","4")
  10. comboxlist.current(0)  #选择第一个
  11. comboxlist.bind("<<ComboboxSelected>>",go)  #绑定事件,(下拉列表框被选中时,绑定go()函数)
  12. comboxlist.pack()
  13. win.mainloop()

复制代码

运行结果:
下拉框里分别是1,2,3,4

三、        LABEL
LABEL用途也很广泛,以前用QT C#等图形化编程的时候,都是直接拖拽控件,然后输入要输入的字符就行了,TK得自己找到方法创建LABEL,输入的内容也得自己在语言里搞定,暂时不是很习惯!

属性
text        要现实的文本
bg         背景颜色
font        字体(颜色, 大小)
width      控件宽度
height     控件高度

运行结果:

Python Tinker学习笔记的更多相关文章

  1. 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL

    周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...

  2. Python Click 学习笔记(转)

    原文链接:Python Click 学习笔记 Click 是 Flask 的团队 pallets 开发的优秀开源项目,它为命令行工具的开发封装了大量方法,使开发者只需要专注于功能实现.恰好我最近在开发 ...

  3. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

  4. Python Flask学习笔记之模板

    Python Flask学习笔记之模板 Jinja2模板引擎 默认情况下,Flask在程序文件夹中的templates子文件夹中寻找模板.Flask提供的render_template函数把Jinja ...

  5. Python Flask学习笔记之Hello World

    Python Flask学习笔记之Hello World 安装virtualenv,配置Flask开发环境 virtualenv 虚拟环境是Python解释器的一个私有副本,在这个环境中可以安装私有包 ...

  6. 获取字段唯一值工具- -ArcPy和Python案例学习笔记

    获取字段唯一值工具- -ArcPy和Python案例学习笔记   目的:获取某一字段的唯一值,可以作为工具使用,也可以作为函数调用 联系方式:谢老师,135-4855-4328,xiexiaokui# ...

  7. Python高级学习笔记

    Python高级学习笔记,此笔记中包含Linux操作系统.Html+CSS+JS.网络协议等. 所有思维导图为本人亲手所画,请勿用于商用. 大哥们,求点赞哦. 第一天笔记:链接 第二天笔记:链接 第三 ...

  8. Python入门学习笔记4:他人的博客及他人的学习思路

    看其他人的学习笔记,可以保证自己不走弯路.并且一举两得,即学知识又学方法! 廖雪峰:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958 ...

  9. Python 基础学习笔记(超详细版)

    1.变量 python中变量很简单,不需要指定数据类型,直接使用等号定义就好.python变量里面存的是内存地址,也就是这个值存在内存里面的哪个地方,如果再把这个变量赋值给另一个变量,新的变量通过之前 ...

随机推荐

  1. Codeforces Round #588 (Div. 1) 简要题解

    1. 1229A Marcin and Training Camp 大意: 给定$n$个对$(a_i,b_i)$, 要求选出一个集合, 使得不存在一个元素好于集合中其他所有元素. 若$a_i$的二进制 ...

  2. MLP神经网络实例--手写识别

    1.导入MNIST数据集 直接使用fetch_mldata会报错,错误信息是python3.7把fetch_mldata方法移除了,所以需要单独下载数据集从这个网站上下载数据集: https://gi ...

  3. PCA(Principal Component Analysis)笔记

    PCA是机器学习中recognition中的传统方法,今天下午遇到了,梳理记一下 提出背景: 二维空间里,2个相近的样本,有更大概率具有相同的属性,但是在高维空间里,由于样本在高维空间里,呈现越来越稀 ...

  4. 编写Postgres扩展之三:调试

    原文:http://big-elephants.com/2015-10/writing-postgres-extensions-part-iii/ 编译:Tacey Wong 在上一篇关于编写Post ...

  5. Go part 8 并发编程,goroutine, channel

    并发 并发是指的多任务,并发编程含义比较广泛,包含多线程.多进程及分布式程序,这里记录的并发是属于多线程编程 Go 从语言层面上支持了并发的特性,通过 goroutine 来完成,goroutine ...

  6. 正则表达式字符&使用

    正则详细解说:https://juejin.im/post/5965943ff265da6c30653879 一.正则表达式中的字符含意 \ 做为转义,即通常在"\"后面的字符不按 ...

  7. 用ajax和PHP实现简单的流程管理

    首先要先有一个新建流程的页面xinjian.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...

  8. QSqlDatabase数据库

    #include <QSqlDatabase> #include <QtDebug> #include <QSqlQuery> #include <QSqlE ...

  9. linux sort命令用法

    sort命令:用于将文本文件内容加以排序,sort可针对文本文件的内容,以行为单位来排序. 命令格式: sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符> ...

  10. frp服务搭建

    安装命令 C wget --no-check-certificate https://raw.githubusercontent.com/clangcn/onekey-install-shell/ma ...