Python学习之十二_tkinter的学习与使用
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的学习与使用的更多相关文章
- JMeter学习(十二)JMeter学习参数化User Defined Variables与User Parameters
相同点:二者都是进行参数化的. 一.User Defined Variables 1.添加方法:选择“线程组”,右键点击添加-Config Element-User Defined Variables ...
- python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL
python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL实战例子:使用pyspider匹配输出带.html结尾的URL:@config(a ...
- Go语言学习笔记十二: 范围(Range)
Go语言学习笔记十二: 范围(Range) rang这个关键字主要用来遍历数组,切片,通道或Map.在数组和切片中返回索引值,在Map中返回key. 这个特别像python的方式.不过写法上比较怪异使 ...
- Tensorflow深度学习之十二:基础图像处理之二
Tensorflow深度学习之十二:基础图像处理之二 from:https://blog.csdn.net/davincil/article/details/76598474 首先放出原始图像: ...
- Alink漫谈(十二) :在线学习算法FTRL 之 整体设计
Alink漫谈(十二) :在线学习算法FTRL 之 整体设计 目录 Alink漫谈(十二) :在线学习算法FTRL 之 整体设计 0x00 摘要 0x01概念 1.1 逻辑回归 1.1.1 推导过程 ...
- 进击的Python【第十二章】:mysql介绍与简单操作,sqlachemy介绍与简单应用
进击的Python[第十二章]:mysql介绍与简单操作,sqlachemy介绍与简单应用 一.数据库介绍 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数 ...
- java jvm学习笔记十二(访问控制器的栈校验机制)
欢迎装载请说明出处:http://blog.csdn.net/yfqnihao 本节源码:http://download.csdn.net/detail/yfqnihao/4863854 这一节,我们 ...
- Java开发学习(四十二)----MyBatisPlus查询语句之条件查询
一.条件查询的类 MyBatisPlus将书写复杂的SQL查询条件进行了封装,使用编程的形式完成查询条件的组合. 这个我们在前面都有见过,比如查询所有和分页查询的时候,都有看到过一个Wrapper类, ...
- 【mongodb系统学习之十二】mongodb修改数据(一)
十二.mongodb修改数据:update 1).修改数据库数据:update:语法 db.collectionName.update({},{},boolean,boolean): 2).updat ...
- (C/C++学习笔记) 十二. 指针
十二. 指针 ● 基本概念 位系统下为4字节(8位十六进制数),在64位系统下为8字节(16位十六进制数) 进制表示的, 内存地址不占用内存空间 指针本身是一种数据类型, 它可以指向int, char ...
随机推荐
- startx详解
linux下startx命令详解 用途 初始化一个 X 会话. 语法 startx [ -d Display:0 ] [ -t | -w ] [ -x Startup | [ -r Resources ...
- hiveSQL常见专题
SQL强化 SQL执行顺序 --举例: select a.sex, b.city, count(1) as cnt, sum(salary) as sum1 from table1 a join ta ...
- 物联网SIM卡和SIM卡真的不是一回事
办卡吗,兄弟? 物联网卡?相信大家第一反应都是一愣.大家听过银行卡.电话SIM卡.会员卡-等等,很多人可能都是第一次听说物联网卡.那它到底是个什么东东?它能干什么呢?今天就带大家一探究竟. 那在物联网 ...
- 关于Spring注解开发教程,打包全送你
摘要:spring是我们web开发中必不可少的一个框架,基于传统的xml方式配置bean总觉得太过繁琐,从spring2.5之后注解的出现可以大大简化我们的配置. 本文分享自华为云社区<如何高效 ...
- ReactJS到React-Native,架构原理概述
React是一个纯JS的UI库,只能干HTML/CSS/JS 提供的Web服务(新的H5 API不一定支持), React-Native厉害在于它能打通JS和Native Code, 让JS能够调用丰 ...
- Kubernetes(K8S) 介绍
Master Api Server 统一入口,以 Restful 方式,交给 etcd 存储 Scheduler 节点调试,选择 Node 节点,做应用部署 Controller Manager 处理 ...
- BBS项目(三):侧边栏筛选功能 文章详情页搭建 点赞点踩功能 文章根评论功能
目录 复习与补充 侧边栏筛选功能 文章详情页搭建 点赞点踩样式搭建 点赞点踩功能完善 文章评论前期准备 文章根评论业务逻辑 练习 复习与补充 admin后台管理复习: admin.py文件中注册模型表 ...
- C++20 | std::span 陣列、容器的代理人
在 C++ 裡頭有相當多「容器」.從原生的陣列,到標準庫 STL 的 vector, array, list, queue, map, set, -.有時候我們只是想以檢視的角度去看一個容器,或是其中 ...
- Vue | vuex安装失败解决的方法实例
Vuex是一个专为Vue.js应用程序开发的状态管理模式 下面这篇文章主要给大家介绍了关于vuex安装失败解决的方法,文中通过图文介绍的非常详细,需要的朋友可以参考下 1.报错信息: npm ERR! ...
- 题解 - Japanese Student Championship 2021
前言:这场的题解由于蓝桥杯比赛拖延几天才发 关于本篇题解,目前还是有部分题没有解答出来正在加油补题ing 补题链接:Here A - Competition 题意:给定 \(X,Y,Z\) 代表的意义 ...