Python图形化GUI — tkinter入门

这可能是最好玩的python GUI入门实例! 这可能是最好玩的python GUI入门实例! 简单的说,GUI编程就是给程序加上图形化界面. python的脚本开发简单,有时候只需几行代码就能实现丰富的功能,而且python本身是跨平台的,所以深受程序员的喜爱. 如果给程序加一个图形化界面,那么普通的用户也就能用上python的脚本,极大提升工作效率,所以给python程序加上图形化界面,把自己写的脚本,提供给普通用户,的确是一件激动人心的事! 如何给python脚本加图形化界面? 作者首先考虑了通过浏览器运行python的图形化界面,为 阅读详情

 

Python 的图形用户界面库

1) PyGObject
PyGObject 库为基于 GObject 的 C 函数库提供了内省绑定,这些库可以支持 GTK+3 图形界面工具集,因此时 GObject 提供了丰富的图形界面组件。

2) PyGTK
PyGTK 基于老版本的 GTK+2 的库提供绑定,借助于底层 GTK+2 所提供的各种可视化元素和组件,同样可以开发出在 GNOME 桌面系统上运行的软件,因此它主要适用于 Linux/UNIX 系统。PyGTK 对 GTK+2 的 C 语言进行了简单封装,提供了面向对象的编程接口。其官方网址是http://www.pygtk.org/。

3) PyQt
PyQt 是 Python 编程语言和 Qt 库的成功融合。Qt 本身是一个扩展的 C++ GUI 应用开发框架,Qt 可以在 UNIX、Windows 和 Mac OS X 上完美运行,因此 PyQt 是建立在 Qt 基础上的 Python 包装。所以 PyQt 也能跨平台使用。

4) PySide
PySide 是由 Nokia 提供的对 Qt 工具集的新的包装库,目前成熟度不如 PyQt。

5) wxPython
wxPython 是一个跨平台的 GUI 工具集,wxPython 以流行的 wxWidgets(原名 wxWindows)为基础,提供了良好的跨平台外观。简单来说,wxPython 在 Windows上调用 Windows 的本地组件、在 Mac OS 上调用 Mac OS X 的本地组件、在 Linux 上调用 Linux 的本地组件,这样可以让 GUI 程序在不同的平台上显示平台对应的风格。wxPython 是一个非常流行的跨平台的 GUI 库。其官方网址是http://www.wxpython.org/。

如果有需要,则完全可以选择上面这些 Python GUI 库来开发图形用户界面。如果考虑开发跨平台的图形用户界面,则推荐使用 PyQt 或 wsPython。

6)tkinter
python编程语言内置库。Tkinter是Python默认的GUI库。它基于Tk工具包,该工具包最初是为工具命令语言(Tool Command Language, Tcl)设计的。TK普及后,被移植到很多其他的脚本语言中。在Python2中叫Tkinter,在Python3中叫tkinter;以下是一个实例

//显示一个图形界面
import tkinter as tk

win = tk.Tk()  # 创建主窗口
win.title('My Tkinter Window')  # 设置窗口标题
win.geometry('400x400')  # 设置界面大小
win.mainloop()  # 消息循环

tkinter的GUI组件之间的关系

使用 Tkinter 进行 GUI 编程与其他语言的 GUI 编程基本相似,都是使用不同的“积木块”来堆出各种各样的界面。因此,学习 GUI 编程的总体步骤大致可分为三步:

  1. 了解GUI 库大致包含哪些组件,就相当于熟悉每个积木块到底是些什么东西。
  2. 掌握容器及容器对组件进行布局的方法,就相当于掌握拼图的“母板”,以及母板怎么固定积木块的方法。
  3. 逐个掌握各组件的用法,则相当于深入掌握每个积木块的功能和用法。

Tkinter 的 GUI 组件有两个根父类,它们都直接继承了 object 类:

  1. Misc:它是所有组件的根父类。
  2. Wm:它主要提供了一些与窗口管理器通信的功能函数。

 

应用程序主窗口基类:

  1. 对于 Misc 和 Wm 两个基类而言,GUI 编程并不需要直接使用它们,但由于它们是所有 GUI 组件的父类,因此 GUI 组件都可以直接使用它们的方法。
  2. Misc 和 Wm 派生了一个子类 Tk,它代表应用程序的主窗口。因此所有 Tkinter GUI 编程通常都需要直接或间接使用该窗口类。

 

应用程序组件基类:

  1. BaseWidget 是所有组件的基类,它还派生了一个子类 Widget。Widget 代表一个通用的 GUI 组件,Tkinter 所有的 GUI 组件都是 Widget 的子类。
  2. 再来看 Widget 的父类。Widget 一共有四个父类,除 BaseWidget 之外,还有 Pack、Place 和 Grid,这三个父类都是布局管理器,它们负责管理所包含的组件的大小和位置。

剩下的就是图右边所显示的Widget 的子类了,它们都是Tkinter GUI编程的各种 UI 组件,也就是前面所说的各种“积木块”。

 

组件概览(已分类)

按钮相关类:

Button:按钮,代表按钮组件

Checkbutton:复选框,可供用户勾选的复选框

Listbox:列表框,列出多个选项,供用户选择

Radiobutton:单选钮,可供用户点边的单选钮

 

文本相关类:

Entry:单行输入框,用户可输入内容

Text :多行文本框,显示多行文本

 

框架(容器):

Toplevel 顶层 容器类,可用于为其他组件提供单独的容器;Toplevel 有点类似于窗口

Frame   容器 用于装载其它 GUI 组件

LabelFrame 容器 也是容器组件,类似于Frame,但它支持添加标题

 

控制条类:

Scale:滑动条     拖动滑块可设定起始值和结束值,可显示当前位置的精确值

Spinbox :微调选择器 用户可通过该组件的向上、向下箭头选择不同的值

Scrollbar:滚动条      用于为组件(文本域、画布、列表框、文本框)提供滚动功能

 

菜单类:

Menu:菜单 菜单组件

Menubutton:菜单按钮   用来包含菜单的按钮(包括下拉式、层叠式等)

OptionMenu:菜单按钮   Menubutton 的子类,也代表菜单按钮,可通过按钮打开一个菜单

 

Canvas:画布 提供绘图功能,包括绘制直线、矩形、椭圆、多边形、位图等

Label:标签 用于显示不可编辑的文本或图标

 

组件通用属性概览

颜色属性:

  1. activebackground:组件处于激活状态时的背景色;
  2. activeforeground:组件处于激活状态时的前景色;
  3. background(bg):组件正常显示时的背景色
  4. foreground(fg):组件正常显示时的前景色
  5. highlightbackground:组件在高亮状态下的背景色
  6. highlightcolor:组件在高亮状态下的前景色
  7. selectforeground:组在选中状态下的前景色
  8. selectbackground:组件在选中状态下的背景色
  9. disabledforeground:组件处于禁用状态时的前景色

 

文本属性:

  1. font:组件上显示的文本字体
  2. justify:组件内部内容的对齐方式;
  3. 可选值:支持LEFT(左对齐)、CENTER(居中对齐)或RIGHT(右对齐)这三个值
  4. relief:组件的3D 效果(组件内部相对于外部的外观样式);
  5. 可选值:RAISED、SUNKEN、FLAT、RIDGE、SOLID、GROOVE。
  6. text : 组件上显示的文本,文本显示格式由组件本身、anchor 及 justify 选项决定

状态属性:

state: 指定按钮的状态,可选值有正常(normal),激活(active),禁用(disabled);

 

位置属性:

anchor: 指定按钮上文本的位置,可选值:N, NE, E, SE, S, SW, W, NW, CENTER这些值之一。默认值是CENTER。

 

图像属性:

  1. bitmap:在组件上显示该选项指定的位图;

该选项值可以是Tk_GetBitmap接收的任何形式的位图。位图的显示方式受anchor、justify选项的影响。

如果同时指定了bitmap和text,那么bitmap 覆盖文本;如果同时指定了bitmap 和image,那么image 覆盖bitmap

  1. image:指定组件中显示的图像,如果设置了image 选项,它将会覆盖text、bitmap选项

 

光标属性:

cursor:指定光标在组件上的样式。可以是Tk_GetCursors 接受的任何格式

 

Mind+图形化编程结合Python调用API实现翻译助手实战教程 编程的本质是解决问题,而图形化编程工具如Mind+通过积木式界面,将复杂的代码逻辑转化为直观的拖拽操作,显著降低了学习门槛。其原理在于将可视化指令实时映射为标准Python代码,让初学者在理解事件驱动、函数调用等核心概念的同时,无需深陷环境配置和语法细节。这种技术组合的价值在于快速构建可工作的原型,尤其适合API调用、数据处理等常见场景。例如,通过调用百度翻译API,可以轻松实现一个具备网络请求、JSON解析功能的翻译工具。本文以翻译助手项目为例,详细展示了如何利用Mind+的Python模式,从界面设计、 阅读详情

相关推荐

使用Python封装GObject模块进行图形化程序编程

GObject是一个用于创建图形用户界面(GUI)应用程序的模块,它提供了一组功能强大的工具和类,可以简化图形化界面的开发过程。在Python中,我们可以使用GObject模块来创建具有各种交互元素的应用程序,如按钮、标签、文本框等。本教程将向您展示如何在Python中使用GObject模块进行图形化程序编程。

qq_39605374的博客 378

PyGobject(九十三)Cairo系列——简介&简单示例

Cairo 安装 Cairo在PyGobject中的使用 简单示例 Cairo Cario是一个2D图形库,支持多种输出设备。 目前支持的输出目标包括X Window,Quartz,Win32,image.buffers,PostScript,PDF和SVG文件输出。 后续支持OpenGL,XCB,BeOS,OS/2操作系统和DirectFB。 Cario的目的是同一输出在不同

Yu的专栏 4555

PyGobject(pygtk3)全解——超多代码

Python gui的不二选择——PyGobject 辛苦几个月的成果,供各位学习和参考 具体内容参见博文http://blog.youkuaiyun.com/a87b01c14/article/category/6329777

PyGobject(一)安装篇

PyGObject是一个Python模块,使开发人员可以访问基于GObject的库,如Python中的GTK+。它独家支持GTK+3版或更高版本。 由于博主使用的是macbook,所以安装方法适用于Mac OS X,其它系统大致相同,可以参考。使用jhbuild安装$ brew install wget $ sh gtk-osx-build-setup.sh 设置环境变量 $ export PAT

Yu的专栏 1万+

TI DSP从COFF切换到EABI输出格式的5个关键修改点(TMS320F280025实测)

本文基于TMS320F280025实测,详细解析了TI DSP从COFF切换到EABI输出格式的5个关键修改点。核心差异在于EABI遵循ELF标准,涉及链接器优化、RAM数据共享、工具链升级、double数据类型位宽变化及链接器命令文件重构。迁移时需使用.retain指令防止关键数据被优化,利用NOINIT段保护共享RAM,并更新hex2000等工具,以确保BootLoader与应用程序稳定运行。

weixin_29189381的博客 266

从 0 到 1,实战 Power BI 电商销售可视化看板全流程

本文详细介绍了从零开始使用Power BI构建电商销售可视化看板的全流程,涵盖数据准备、建模、可视化设计及高级功能应用。通过实战案例展示如何将复杂销售数据转化为直观图表,帮助电商从业者快速掌握销售趋势、热销产品和用户画像等关键信息,提升数据分析效率。

weixin_29061041的博客 483

PyGobject(三)基础篇

主循环和信号像大多数GUI工具包,GTK +使用事件驱动的编程模型。当用户什么都不做,GTK +睡眠在主循环并等待输入。如果用户执行一些操作,比如一个鼠标点击,那么主循环“醒来”并向GTK +发送一个事件。当小部件接收事件时,他们经常发出一个或多个信号。当某些你感兴趣的事件发生时,信号就会通过你连接到该信号的方法通知你的应用程序。这种方法是通常被称为回调。当你的回调函数被调用的时候,你通常会采取一些

Yu的专栏 5502

必看!wechat-article-exporter:轻松批量下载公众号文章

微信搜索“”关注公众号。在信息爆炸的时代,我们每天都会接触到大量优秀的微信公众号文章。有时候,我们想要将这些精彩的内容保存下来,以便日后回顾或者分享给更多的人。然而,微信公众号并没有提供直接的批量下载功能,这给我们带来了不少困扰。今天,我要给大家分享一款非常实用的软件——wechat-article-exporter,它能够帮助我们轻松地批量下载微信公众号文章,让你不再为文章的保存而烦恼。

王乐平 技术博客 4351

Python-Tkinter 基础教程

这里写自定义目录标题介绍模块导入方式API 使用主窗口运行窗口组件列表介绍Label 标签Button 按钮Options 属性选项文本框Entry 单行文本框Text 多行文本框文本框属性:选择框Radiobutton 单选框Checkbutton 多选框选择框属性:通用消息弹窗messagebox 消息弹框canvas 画布布局管理grid 表格布局grid()方法提供的选项:pack 布局pack()方法提供选项:place 布局place()方法选项:事件处理鼠标和键盘事件event 对象常用属性多

CS_Hoyun的博客 7911

【02】【VisionMaster V4.0.0 】安装教程—— 授权文件更新报错:应用程序与本地LM通讯出错(怀疑电脑加密 和 上网受限 造成的 )

本文详细介绍了海康VisionMaster 4.0试用版的安装流程及常见问题解决方案。主要内容包括:1)从官网下载基础安装包、试用补丁和授权文件;2)按顺序安装主程序、补丁和授权文件;3)针对授权失败问题提供两种解决方案(更换未加密电脑或使用加密狗);4)说明试用版的功能限制(30天试用期、2个流程限制等)。文章特别指出电脑加密可能导致授权失败,并提供了安装报错时的处理建议,为初次使用者提供了完整的安装指导。

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 7156

不止于ACC:用CarSim的‘Multiple Objects’和路径跟踪器玩转复杂交通流场景

本文深入探讨了如何利用CarSim的'Multiple Objects'模块和路径跟踪器模拟复杂交通流场景,超越传统ACC测试的局限。通过批量控制、动态交互和参数化设计,实现多车智能响应和复杂轨迹模拟,适用于连续变道、拥堵博弈、匝道汇流等真实交通场景。

weixin_30954265的博客 497

Python标准图形化界面GUI库入门指南– Tkinter

介绍图形用户界面(GUI)是为用户交互提供灵活性的界面。它的交互性使我着迷。应用程序越吸引人,游戏开发就越好。GUI的最常见组件是主窗口,按钮,文本输入,标签,菜单等。在Python中进行...

深度学习与计算机视觉 992

鼎捷T100二次开发实战:如何给开窗功能加上权限锁(附完整代码)

本文详细解析了鼎捷T100二次开发中开窗功能权限锁的实现方法,提供了两种技术方案:开窗程序重构法和动态WHERE条件注入法,并附上完整代码示例。通过真实案例,帮助开发者解决数据权限细粒度控制的难题,提升ERP系统的安全性和实用性。

weixin_28454475的博客 442

Python GUI图形化界面—tkinter模块详解教程(转载)

Python GUI 图形化界面tkinter 做课设需要用到GUI图形化界面,找到了这篇博客 https://www.cnblogs.com/shwee/p/9427975.html#D3 可以说写的非常详细,而且每个组件都有示例,最后还有一个综合实例。非常适合作为入门基础学习 ...

m0_47470899的博客 615

实战二:基于LightGBM进行海洋轨迹预测 代码+数据(非常详细可作为毕设)

实战二:基于LightGBM进行海洋轨迹预测 代码+数据(非常详细可作为毕设)

1315

[AI] 企业内网部署大模型的三种常见方案:从“能用”到“好用”的技术选型指南

企业内网部署大模型的三种方案解析:本地模型安全但门槛高,平台方案(如Dify)最平衡推荐,混合架构适合进阶需求。关键路径是渐进式演进,从快速验证到平台化建设,核心在于流程优化而非单纯选模型。数据安全、成本可控和工程落地能力是决策重点。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 770

这可能是最好玩的python GUI入门实例

这可能是最好玩的python GUI入门实例! image.png 简单的说,GUI编程就是给程序加上图形化界面. python的脚本开发简单,有时候只需几行代码就能实现丰富的功能,而且python本身是跨平台的,所以深受程序员的喜爱. 如果给程序加一个图形化界面,那么普通的用户也就能用上python的脚本,极大提升工作效率,所以给python程序加上图形化界面,把自己...

feng98ren的专栏 731

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【python桌面应用设计】tkinter库 02. 常用控件和属性

【python桌面应用设计】tkinter库 02. 常用控件和属性

MZH 965

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

中国象棋- Python Tkinter

摘要:本项目为基于Python Tkinter开发的中国象棋对战系统,适合编程初学者参考。系统支持双人对战、棋谱保存功能,包含可视化界面(棋盘/棋子交互)、完整象棋规则逻辑(走子/胜负判定)、UCI协议与Pikafish引擎通信及文件IO棋谱存储。开发环境为PyCharm,技术栈为Python+Tkinter,源码经过调试可稳定运行,附有项目截图。

wjwjwjd的博客 200

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

python可以做什么好玩的gui_这可能是最好玩的python GUI入门实例(推荐)

简单的说,GUI编程就是给程序加上图形化界面.python的脚本开发简单,有时候只需几行代码就能实现丰富的功能,而且python本身是跨平台的,所以深受程序员的喜爱.如果给程序加一个图形化界面,那么普通的用户也就能用上python的脚本,极大提升工作效率,所以给python程序加上图形化界面,把自己写的脚本,提供给普通用户,的确是一件激动人心的事!如何给python脚本加图形化界面?作者首先考虑了...

weixin_39622587的博客 270

PS2DLC.ZIP小白教程:5分钟学会基础操作

最重要的是,这种解决实际问题的项目,学习效果比单纯看教程要好太多了。作为一个刚接触游戏模组的新手,我发现处理PS2的DLC文件时总会遇到各种麻烦,于是决定自己动手解决这个问题。刚开始接触PS2模组时,最头疼的就是DLC文件的处理。传统的解压工具往往无法自动创建PS2需要的特定目录结构,手动操作又容易出错。PS2的DLC需要严格的目录层级,通过反复测试最终找到了可靠的解决方案。对于想学习Python GUI开发的新手来说,这种小工具项目是很好的练手选择,既实用又能快速获得成就感。这个项目最让我惊喜的是,在。

CrystalwaveStag的博客 435

Python 图形化界面设计

Python 图形化界面设计,感兴趣的同学可以学习一下 https://blog.youkuaiyun.com/weixin_45625815/article/details/102741763

青桔柠檬水官方认定博客 130

从零打造桌面翻译工具:Mind+与Python实战入门指南

桌面应用开发是编程学习的重要实践方向,它涉及图形用户界面(GUI)构建、事件驱动编程、网络通信等核心概念。通过图形化编程工具如Mind+,初学者可以直观理解程序逻辑流,再平滑过渡到Python代码实现。Python凭借其简洁语法和丰富的第三方库(如tkinter、requests),成为快速开发小型桌面应用的理想选择。这种技术组合特别适合实现需要调用外部API的网络工具,例如翻译助手。本文以百度翻译API接入为例,详细展示了如何从积木搭建到代码编写,完成一个具备划词翻译、剪贴板监听等实用功能的桌面工具,涵盖

weixin_28718487的博客 303

pythongui入门实例大全详细教程全_这可能是最好玩的python GUI入门实例!

image.png简单的说,GUI编程就是给程序加上图形化界面.python的脚本开发简单,有时候只需几行代码就能实现丰富的功能,而且python本身是跨平台的,所以深受程序员的喜爱.如果给程序加一个图形化界面,那么普通的用户也就能用上python的脚本,极大提升工作效率,所以给python程序加上图形化界面,把自己写的脚本,提供给普通用户,的确是一件激动人心的事!如何给python脚本加图形化界...

weixin_35944439的博客 621

python好玩的代码-这可能是最好玩的python GUI入门实例!

image.png简单的说,GUI编程就是给程序加上图形化界面.python的脚本开发简单,有时候只需几行代码就能实现丰富的功能,而且python本身是跨平台的,所以深受程序员的喜爱.如果给程序加一个图形化界面,那么普通的用户也就能用上python的脚本,极大提升工作效率,所以给python程序加上图形化界面,把自己写的脚本,提供给普通用户,的确是一件激动人心的事!如何给python脚本加图形化界...

weixin_37988176的博客 481

【python桌面应用设计】tkinter库 01. Tkinter程序设计思想和结构(保姆级代码注释)

【python桌面应用设计】tkinter库 01. Tkinter程序设计思想和结构(保姆级代码注释)

MZH 783
上一篇: 【C数据类型】基本数据类型
下一篇: 【C数据类型】快速理解:结构体(struct)、枚举(enum)、共用体(union)
ALGO阿狗
博客等级 码龄9年 64粉丝 149原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值