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. 部署堡垒机4——CentOS7 编译安装 Python 3.8.12

    1.去python3的官方网站下载源代码 https://www.python.org/downloads/ 下载安装Python 3.8.12到/opt/python3 cd /opt wget h ...

  2. STM32CubeMX教程6 TIM 通用定时器 - 生成PWM波

    1.准备材料 开发板(STM32F407G-DISC1) ST-LINK/V2驱动 STM32CubeMX软件(Version 6.10.0) keil µVision5 IDE(MDK-Arm) 逻 ...

  3. 用Spring Boot 3.2虚拟线程搭建静态文件服务器有多快?

    Spring Boot 3.2 于 2023 年 11 月大张旗鼓地发布,标志着 Java 开发领域的一个关键时刻.这一突破性的版本引入了一系列革命性的功能,包括: 虚拟线程:利用 Project L ...

  4. SpringBoot结合ajax实现登录功能

    1:ajax是什么(https://www.w3school.com.cn/ajax/ajax_intro.asp)? AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. AJA ...

  5. Java 并发编程(三)锁与 AQS

    本文 JDK 对应的版本为 JDK 13 由于传统的 synchronized 关键字提供的内置锁存在的一些缺点,自 JDK 1.5 开始提供了 Lock 接口来提供内置锁不具备的功能.显式锁的出现不 ...

  6. Java面试必考:什么是字节码?采用字节码的好处?

    Java面试必考:什么是字节码?采用字节码的好处? 于哥你好,最近在java面试中被问答到什么是字节码?采用字节码的好处是什么?瞬间懵了,如果你连这个都不知道,我保证你面试GG! 首先说下Java的优 ...

  7. UE5: 探究Actor Tick的注册与执行

    1. 前情提要 因工作需要,有在编辑器模式下执行Actor的Tick函数的需求.经过查阅资料,了解到重载Actor::ShouldTickIfViewportOnly函数可以实现在编辑器视口下也可以执 ...

  8. java中获取公网IP

    package com.dashan.utils.iputils; import org.apache.commons.lang.StringUtils; import java.io.Buffere ...

  9. 可以一学的代码优化小技巧:减少if-else冗余

    摘要:if-else 语句对于程序员来说,是非常非常熟悉的一个判断语句,我们在日常开发和学习中都经常看见它. 本文分享自华为云社区<JavaScript代码之美-代码优化,减少if-else冗余 ...

  10. CANN AICPU算子耗时分析及优化探索

    摘要:本文以GreaterEqual作为测试算子,该算子计算逻辑较为简单(output = input1 >= input2),旨在尽可能降低计算耗时,使得算子耗时尽可能以数据操作和算子调度作为 ...