5748|4

7230

帖子

195

TA的资源

五彩晶圆(高级)

楼主
 

Python Tinker学习笔记(一) [复制链接]

 
本帖最后由 常见泽1 于 2019-2-20 13:23 编辑




此内容由EEWORLD论坛网友常见泽1原创,如需转载或用于商业用途需征得作者同意并注明出处
一直在简单看看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程序代码(基于Python3Python2略有区别)
from tkinter import * # importthe Tkinter module
root = Tk() # create a rootwindow
root.mainloop() # create an eventloop


一 按钮
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.    
  7. root = Tk() # create a root window
  8. button1 = Button(root,text="打开",fg="black",command=pressOk)
  9. button1.pack()
  10. 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     控件高度

运行结果:





最新回复

感谢分享!  详情 回复 发表于 2019-2-21 18:55
点赞 关注(2)
 
 

回复
举报

2002

帖子

24

TA的资源

五彩晶圆(高级)

沙发
 
试一下PySimpleGUI ,更简单
 
 
 

回复

280

帖子

0

TA的资源

一粒金砂(高级)

板凳
 
也有基于python的Qt啊

点评

pyqt 不过貌似比较麻烦庞大  详情 回复 发表于 2019-2-18 15:12
 
 
 

回复

7230

帖子

195

TA的资源

五彩晶圆(高级)

4
 
flyword 发表于 2019-2-18 14:33
也有基于python的Qt啊

pyqt 不过貌似比较麻烦庞大
 
 
 

回复

65

帖子

5

TA的资源

一粒金砂(中级)

5
 
感谢分享!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表