首页 > 编程语言 >Python学习之十二_tkinter的学习与使用

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

时间:2023-11-30 12:32:04浏览次数:48  
标签:控件 tkinter Python win GUI 学习 bios

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


摘要

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

基础知识

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

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()



标签:控件,tkinter,Python,win,GUI,学习,bios
From: https://blog.51cto.com/u_11529070/8628283

相关文章

  • Python中导入包和模块
    一、模块含义在前面的几个章节中我们基本上是用python解释器来编程,如果你从Python解释器退出再进入,那么你定义的所有的方法和变量就都消失了。为此Python提供了一个办法,把这些定义存放在文件中,为一些脚本或者交互式的解释器实例使用,这个文件被称为模块。模块是一个包含所......
  • 操作系统OS学习总结
    操作系统OS笔记操作系统概述操作系统定义操作系统,是计算机系统中最基本、最重要的系统软件,是其它软件的支撑。控制和管理计算机系统的硬件和软件资源,合理的组织计算机工作流程,并为用户使用计算机提供公共和基本的服务。操作系统组成计算机采用的都是冯·诺依曼体系结构,一台计......
  • [python] 基于Tablib库处理表格数据
    Tablib是一个用于处理电子表格(如Excel,CSV,JSON)的Python库。它提供了一种简单而强大的方式来操作和处理数据。利用Tablib,我们可以轻松地读取、写入、过滤和转换各种类型的电子表格数据。Tablib具有一致且易于使用的API,以在不同的数据格式之间进行无缝转换。比如,Tablib可以将数据......
  • Python中命名空间及作用域
    一、命名空间命名空间(Namespace)是从名称到对象的映射,大部分的命名空间都是通过Python字典来实现的。命名空间提供了在项目中避免名字冲突的一种方法。各个命名空间是独立的,没有任何关系的,所以一个命名空间中不能有重名,但不同的命名空间是可以重名而没有任何影响。我们举一......
  • 算法学习笔记_2
    2023.5面向对象C++:函数1.缺省值(1)函数调用时,如果一个参数使用了缺省值,那么后面的所有参数都要使用缺省值。(2)参数的缺省值在函数声明中指定,而不是在函数定义中指定。在一个文件中,一个参数只能被指定一次缺省值。print(x);//等价于print(x,10)print(x,2);......
  • 算法学习笔记_1
    23.41.一个C++输入时加速的好办法。#includeusingnamespacestd;intmain(){std::ios::sync_with_stdio(false);cin.tie(0);return0;}ios::sync_with_stdio(false)是C++中的语句,用于关闭与stdio的同步。这样做可以提高输入输出效率。2.杂七杂八忙于计设三创,几......
  • 学习笔记12
    MySQL数据库系统笔记1.概述MySQL是一种关系型数据库管理系统,广泛用于Web应用程序的后台数据存储。它是一个开源的数据库系统,提供高性能、稳定可靠的数据存储和管理功能。2.安装和配置2.1安装MySQL安装MySQL的步骤如下:下载适合操作系统的MySQL安装包。运行安装程序并按......
  • 前端学习笔记1
    前端笔记2023.31.<meta>标记链接常用meta整理|菜鸟教程(runoob.com)主要用于提供HTML文档的元数据,用于不同移动设备页面调整(全屏、识别邮箱电话号码、添加广告)、SEO优化(搜索引擎优化)、页面相关(编码、站点适配)……2.urlhrefsrc解释(1)URL:统一资源定位符(Uniform......
  • Python——第四章:内置函数(下)
    内置函数的使用方法:zip:可以把多个可迭代内容进行合并sorted:排序filter:筛选map:映射zip我们想把每个列表的第1位、第2位、第3位打包放在一起,手写的操作方法如下:#012lst1=["赵本山","范伟",'苏有朋']lst2=[40,38,42]lst3=["卖......
  • 面向对象C++学习总结
    洛谷日记32023.5面向对象C++:运算符重载1.运算符重载(1)n定义重载运算符和定义普通函数类似,只是该函数的名字是operator@,@表示要重载的运算符。MinIntoperator-()const{//一元运算"-"cout<<"MinInt::operator-"<<endl;returnMinInt(-b);}//定义MinInt类的一......