Python学习之十二_tkinter的学习与使用


摘要

本来想说会用QT5进行界面编程
但是发现比较繁琐
还是先学习使用 tkinter的方式进行界面化的编写和学习了

基础知识

tkinter是一个源码开放的图形用户接口开发工具,具备跨平台的特性
Python默认的GUI开发模块是tkinter(在Python 3以前的版本中名为Tkinter),
从这个名字就可以看出它是基于Tk的,Tk是一个工具包,最初是为Tcl设计的,
后来被移植到很多其他的脚本语言中,它提供了跨平台的GUI控件。
当然Tk并不是最新和最好的选择,也没有功能特别强大的GUI控件,
事实上,开发GUI应用并不是Python最擅长的工作,如果真的需要使用Python开发GUI应用,
wxPython、PyQt、PyGTK等模块都是不错的选择。
:https://blog.csdn.net/NQBXHN/article/details/129373227

tkinter的使用过程

1. 导入tkinter模块中我们需要的东西。
2. 创建一个顶层窗口对象并用它来承载整个GUI应用。
3. 在顶层窗口对象上添加GUI组件。
4. 通过代码将这些GUI组件的功能组织起来。
5. 进入主事件循环(main loop)。

tkinter的控件和基本属性

主要控件有:
Button: 按钮
Canvas: 画布
Checkbutton: 复选框
Entry: 文本输入框
Frame: 框架容器.
Lable: 标签
LableFrame: 容控件
Listbox: 列表框控件
Menu: 菜单控件
Menubutton 菜单按钮控件
Message: 信息控件
messageBox: 消息框控件
OptionMenu: 选项菜单
PanedWindow: 窗口布局管理组件
Radiobutton: 单选框
Scale: 进度条控件
Spinbox: 高级输入框
Scrollbar: 滚动条
Text: 多行文本框
Toplevel: 子窗口

tkinter的控件和基本属性

anchor: 定义控件或者是文字信息出现的位置.
bg: 定义背景色
bitmap: 定义控件内的位图文件
borderwidth: 控件的边框宽度.
command: 点击按钮时执行的命令. 可以自定义也可以默认.
font: 设置字体
fg: 设置字体颜色
height: 设置高度
image: 显示控件内的图片文件.
text: 定义控件的标题文字.
width: 定义宽度

范例,获取Windwos主机的序列号

import wmi
import tkinter cpuinfo = wmi.WMI()
def getcomputerid() :
for bios_id in cpuinfo.Win32_BIOS():
return bios_id.SerialNumber.strip()
print("机器序列号: " + bios_id.SerialNumber.strip()) win = tkinter.Tk()
win.geometry("400x300+200+200")
win.title("获取机器序列号") def button_click() :
biosinfo.delete(1.0,'end')
bios_info = getcomputerid()
biosinfo.insert(1.0,str(bios_info)) btn = tkinter.Button(win,text="显示机器序列号",command=button_click)
btn.pack(side='bottom') biosinfo = tkinter.Text(win,width=200,height=10,undo=True,autoseparators=False, maxundo=10)
biosinfo.pack(side='top') win.mainloop()

Python学习之十二_tkinter的学习与使用的更多相关文章

  1. JMeter学习(十二)JMeter学习参数化User Defined Variables与User Parameters

    相同点:二者都是进行参数化的. 一.User Defined Variables 1.添加方法:选择“线程组”,右键点击添加-Config Element-User Defined Variables ...

  2. python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL

    python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL实战例子:使用pyspider匹配输出带.html结尾的URL:@config(a ...

  3. Go语言学习笔记十二: 范围(Range)

    Go语言学习笔记十二: 范围(Range) rang这个关键字主要用来遍历数组,切片,通道或Map.在数组和切片中返回索引值,在Map中返回key. 这个特别像python的方式.不过写法上比较怪异使 ...

  4. Tensorflow深度学习之十二:基础图像处理之二

    Tensorflow深度学习之十二:基础图像处理之二 from:https://blog.csdn.net/davincil/article/details/76598474   首先放出原始图像: ...

  5. Alink漫谈(十二) :在线学习算法FTRL 之 整体设计

    Alink漫谈(十二) :在线学习算法FTRL 之 整体设计 目录 Alink漫谈(十二) :在线学习算法FTRL 之 整体设计 0x00 摘要 0x01概念 1.1 逻辑回归 1.1.1 推导过程 ...

  6. 进击的Python【第十二章】:mysql介绍与简单操作,sqlachemy介绍与简单应用

    进击的Python[第十二章]:mysql介绍与简单操作,sqlachemy介绍与简单应用 一.数据库介绍 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数 ...

  7. java jvm学习笔记十二(访问控制器的栈校验机制)

    欢迎装载请说明出处:http://blog.csdn.net/yfqnihao 本节源码:http://download.csdn.net/detail/yfqnihao/4863854 这一节,我们 ...

  8. Java开发学习(四十二)----MyBatisPlus查询语句之条件查询

    一.条件查询的类 MyBatisPlus将书写复杂的SQL查询条件进行了封装,使用编程的形式完成查询条件的组合. 这个我们在前面都有见过,比如查询所有和分页查询的时候,都有看到过一个Wrapper类, ...

  9. 【mongodb系统学习之十二】mongodb修改数据(一)

    十二.mongodb修改数据:update 1).修改数据库数据:update:语法 db.collectionName.update({},{},boolean,boolean): 2).updat ...

  10. (C/C++学习笔记) 十二. 指针

    十二. 指针 ● 基本概念 位系统下为4字节(8位十六进制数),在64位系统下为8字节(16位十六进制数) 进制表示的, 内存地址不占用内存空间 指针本身是一种数据类型, 它可以指向int, char ...

随机推荐

  1. 浅谈6种流行的API架构风格

    前言 API在现代软件开发中扮演着重要的角色,它们是不同应用程序之间的桥梁.编写业务API是日常开发工作中最常见的一部分,选择合适的API框架对项目的成功起到了至关重要的作用.本篇文章将浅谈一下当前6 ...

  2. LeetCode DP篇(62、63、322、887)

    62. 不同路径 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为"Start" ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中 ...

  3. 《玩转鲲鹏DevKit系列》第四期:如何基于鲲鹏平台高效开发?

    本文分享自华为云社区<<玩转鲲鹏DevKit系列>第四期:如何基于鲲鹏平台高效开发?>,作者:华为云社区精选 . 在鲲鹏软件新版本迭代或新功能开发过程中,使用鲲鹏DevKit ...

  4. 低代码开发不靠谱?看低代码开发在物联网APP开发中的应用

    摘要:云编排式物联APP开发平台可通过云端可视化编排开发,边端远程自动化部署,云边协同管理运维的方式,实现物联网APP快速开发,海量边端应用管理. 0 引言 当前,物联网技术正在推动人类社会从&quo ...

  5. CloudIDE插件在手,按时下班不愁

    摘要:带你通过插件机制将CloudIDE扩展出你想要的功能,在CloudIDE中看视频,玩游戏,聊天都可以通过我们的插件来轻松实现,让生产工具不再枯燥,开发工作多姿多彩. 距离华为云CloudIDE在 ...

  6. 云小课|RDS实例连接又失败?看我祭出杀手锏!

    摘要:自从购买了RDS实例,连接失败的问题就伴随着我,我真是太难了.不要害怕,不要着急,跟着小云妹,读了本文,让你风里雨里,实例连接自此畅通无阻! 顺着以下几个方面进行排查,问题就可以迎刃而解~ 本文 ...

  7. 一文带你了解什么是GitOps

    摘要:说起GitOps,可能很多朋友马上会联想到DevOps,那么GitOps和DevOps之间有什么关系.又有什么区别呢? 本文分享自华为云社区<浅谈GitOps>,作者: 敏捷的小智. ...

  8. 基于迁移学习的基础设施成本优化框架,火山引擎数智平台与北京大学联合论文被KDD收录

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群   基于迁移学习的基础设施成本优化框架,火山引擎数智平台与北京大学联合论文被KDD收录 近期,第29届国际知识发现 ...

  9. 火山引擎VeDI最新分享:消费行业的数据飞轮从“四更”开始

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 数据飞轮,正在为消费行业的数字化升级提供一套全新模式.   在刚刚结束的<全链路增长:数据飞轮转动消费新生力 ...

  10. 火山引擎云原生数据仓库 ByteHouse 技术白皮书 V1.0(中)

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 近日,<火山引擎云原生数据仓库 ByteHouse 技术白皮书>正式发布.白皮书简述了 ByteHou ...