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

发布时间 2023-11-20 07:23:26作者: 济南小老虎

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