Python的招牌花旦

tkinter 界面设计工具 先推荐一个非tkinter的GUI框架Python Eel 。是Electron的python版 vb6https://gitcode.net/mirrors/cdhigh/Visual-Tkinter-for-Python(https://github.com/cdhigh/tkinter-designer) Figma +Tkinter https://blog.youkuaiyun.com/qq_41854273/article/details/118310241 visual... 阅读详情

新的一年hello word 2021
在大多数时候,我们都在黑黢黢的控制台里执行 Python 脚本。这看起来很酷很 GEEK。但对于部分场景下的用户来说,这样就不大美观和人性化了:我们需要交互更方便的图形化产品,也就是 GUI(图形用户界面,Graphical User Interface)。欢迎各路大神萌新+裙一起交流学习哦(609616831)

Python 有很多可实现 GUI 的库,在之前的文章中有过一个整理:如何用 GUI 提高 python 程序的颜值? 但没有针对某个具体的库做介绍。最近有同学提到希望给讲解下 GUI 的开发,那么今天就来做个简单的“快速上手”。

而我们要介绍的库,就是

Tkinter

相比较其他的 GUI 库,Tkinter 有个优势在于,它是 Python 内置的 GUI 库,无需另行安装,省事了一点点。另外如果你要将开发出的程序打包成 exe,它也比第三方库稍稍更容易一点点。

而功能上,Tkinter 已足够处理大多数小型 GUI 程序的需求。其开发的程序在各主流操作系统上均可运行。Python 的内置编辑器 IDLE 就是使用 Tkinter 开发的。因此,我个人在之前的开发中,是将 Tkinter 作为首选。

(当然,PyQt 也是很强大的 GUI 库,可以做出复杂酷炫的界面效果。而原有 QT 开发经验的人更是很容易上手。)

Hello GUI World

我们从一个最简单的 Tkinter GUI 程序说起:

import tkinter as tk
root = tk.Tk()
root.mainloop()

1.创建一个 Tk 窗口对象;2.调用这个对象的消息主循环。一个窗口就出现了。在这个窗口之上,可以添加各种输入框、按钮、文本等,可以增加对各种动作的处理。

以往我们写的程序(比如猜数字、罚点球、查天气等)大多是有一个固定的执行流程。而 GUI 程序的不同之处在于,通常它们是由“事件驱动”的:程序运行后,相当于进入一个循环一直运行。如果你不做任何操作,这个窗口就一直在这里。看起来是静止的,但程序实际上是在等待你的操作:通过与窗口中的“控件”进行交互,比如点击按钮、输入文字、勾选选项等,产生不同的“事件”,程序再根据预设的“响应”做处理。就算要结束程序,也是通过“关闭窗口”和“退出”事件。

这就是 mainloop 的意义所在:监听各种事件。理解了这一点,也就理解了 GUI 程序的基本逻辑。

控件

所谓控件,就是 GUI 图形化界面上的对象,或者说功能元素。比如输入框、文本框、按钮、下拉菜单、滚动条等等,窗体本身也可以认为是一个控件。一个控件包含了数据和操作,决定了页面上的元素放在哪里、长什么样、有什么样的效果。

举几个 Tkinter 常用控件的例子:

label = tk.Label(root, text="Hello, world!")
label.pack()
btn = tk.Button(root, text="OK")
btn.pack()
entry = tk.Entry(root)
entry.pack()
root.mainloop()

在调用 mainloop 前,增加了 Label(文本标签)、Button(按钮)、Entry(输入框)三个控件,通过 pack() 方法把它们添加到了窗口之上。

Tkinter 有 15 个核心控件,每个控件有多种设置,这里不展开介绍,网上可以很容易搜到详细的文档说明。

另外除了这些基本控件之外,Tkinter 还提供了一个 ttk 模块,增加了几个控件并对部分已有控件进行了优化。例如:

from tkinter import ttk
entry = ttk.Entry(window)
entry.pack()
combo = ttk.Combobox(window)
combo['values'] = ('IDLE', 'PyCharm', 'VSCode', 'SublimeText')
combo.pack()

完整示例代码在文末附上。

对于控件属性的设置,有 3 种方法:

在创建时通过参数设置。如 btn = Button(root, text=“Click”, fg=“red”, bg=“blue”, command=click)

通过字典的方式修改。如 btn[“fg”] = “green”

通过 config 函数修改。如 btn.config(fg=“green”, bg=“yellow”)

布局

如果只是简单的用 pack() 方法将控件添加到窗口上,它们将按顺序从上往下的放置。这显然无法满足复杂的需求。

Tkinter 提供了三种布局方式:

  1. Pack
    pack 是最简单的布局管理方式,除了像我们前面直接调用外,可以加上 fill、padx、pady、ipadx、ipady、side 等参数,调整放置的边距、填充方式、对齐方式等。
btn.pack(fill=tk.X, padx=5, pady=20, side=tk.LEFT)
  1. Place
    用 place 替代 pack,可以精确地指定空间的放置坐标及长宽。
btn.place(x=50, y=100, width=120, height=25)
  1. Grid
    Grid 布局的逻辑在于,将窗口像表格一样划分成不同的格子,将控件放置进去。例如:

在这里插入图片描述

当控件数量众多时,这种布局方式更有条理。

btn.grid(row=1, column=0)

顺便提一句,如果你希望可以像 VB 那样所见即所得地设计窗体控件,可以了解下 Visual Tkinter 这个工具。

事件

前面说的都是外在的形式,一个 GUI 程序要能运行,离不开内部的事件响应。即:当用户做了一个操作,程序要做出怎样的反应。

事件要与特定的控件相绑定,比如按钮有点击事件,输入框有按键事件,窗体有关闭事件等。

常用的 2 种绑定方法:

1. command
通过控件的 command 参数指定响应函数:

def onClick():
    print('clicked!')

btn = Button(root, text='click', command=onClick)

注意这里传递参数时,onClick 后面不能加上括号。(思考下加与不加的区别在哪里?)

2. bind
通过 bind 方法绑定不同的事件:

def onButton(event):
    print("Clicked:", event.x, event.y)

def onKey(event):
    print("Pressed", event.char)

entry.bind('<Button-1>', onButton)
entry.bind('<Key>', onKey)

控件、布局、事件响应,就是 GUI 开发的几个重要部分。对此有了整体认识后,剩下的就是查阅相关文档和练习了。

如果有不理解的部分或想要深入了解的细节问题,可以私信我
运用上述内容,我们把课程最初的猜数字游戏改成一个 GUI 版本。
获取详细源码可以直接点击哦

python可视化界面编程工具,python如何做可视化界面 适用对象 适用于学习了TKinter并不想太麻烦写GUI代码,也不想用其他工具和框架 比如wxPython,PyQt4的同学。适用于界面不太复杂的小程序开发,界面复杂的还是适用wxPython等框架吧 Python自动化运维:提高效率与降低成本的关键。因为TKinter为Python标准库,使用TKinter完成的Python程序可以称为 “绿色软件”,不需要目标机器上安装wxPython,PyQt4等框架,只要有Python 的机器就能运行。 阅读详情

相关推荐

python生成可视化操作界面,python怎么做可视化界面

这是一个VB6的ADDIN(外接程序),用于使用VB6开发工具直接拖放控件,直接可视化完成Python的TKinter的GUI布局和设计,可以在VB界面上设置。控件的一些属性,最终自动生成必要的代码(包括回调函数框架),代码生成后仅需要在对应的回调函数中增加相应的逻辑功能代码即可。加'__Tab'(双下划线),再加一个序号,从1开始,比如TabStrip的名字为TabStrip1,控件看起来会比较怪。的Style=2 (Dropdown List)时的表现,一个下拉列表,只能在列表中选择一个值,

Rtee1的博客 909

【Python】Tkinter开发笔记00:可视化插件VisualTkinter环境部署

可视化插件VisualTkinter环境部署

GFH358的博客 1327

[原创]VisualTkinter,使用VB设计Tkinter(Python标准GUI库)的界面

这是VB的IDE的一个插件(外接程序),程序使用最简单的VB6开发工具直接拖动控件,来完成Python的TKinter的GUI布局,可以在VB界面上设置控件的一些属性,最终自动生成必要的代码(包括回调函数框架),代码生成后仅需要在对应的回调函数中增加相应的逻辑代码即可。 支持基本上绝大多数的标准控件,让Python的GUI编程和VB一样简单。 (附送全部源代码)

Python tkinter快速可视化开发GUI界面指南:详细教程(附带工具)

Python tkinter快速可视化开发GUI界面指南:详细教程(附带工具),可通过拖拽实现GUI代码的开发,适用对象 适用于学习了TKinter并不想太麻烦写GUI代码,也不想用其他工具和框架 比如wxPython,PyQt4的同学。 适用于界面不太复杂的小程序开发,界面复杂的还是适用wxPython等框架吧。 因为TKinter为Python标准库,使用TKinter完成的Python程序可以称为 “绿色软件”,不需要目标机器上安装wxPython,PyQt4等框架,只要有Python 的机器就能运行

6万+

Visual Tkinter Python IDE-开源

适用于 Python 的 Visual Tkinter IDE。 可视化 Python Tkinter IDE。 Tkinter 图形用户界面。 http://pythontr.org/ http://visualpython.org

Python GUI Tkinter 可视化 界面设计 代码生成 插件 - Visual Tkinter 附源码

此工具是基于VB的一个插件,可以输出python的tk代码 这是一个VB6的ADDIN(外接程序),用于使用VB6开发工具直接拖放控件,直接可视化完成Python的TKinter的GUI布局和设计,可以在VB界面上设置 控件的一些属性,最终自动生成必要的代码(包括回调函数框架),代码生成后仅需要在对应的回调函数中增加相应的逻辑功能代码即可。 这个工具支持绝大部分TKiner控件,可应付一般GUI的需求。(列表参见下面的控件说明)。

使用 Visual Basic 设计 Python 的 GUI:Visual Tkinter

Visual Basic 确实比较傻瓜,GUI 拖放就能够完成。而 Python 的 GUI 开发要相对复杂一点,wxPython、PyQt 这样的库,有点重量级,自带的 tkinter 比较轻便,但又没有可视化设计工具。 Visual Tkinter 可以让你在 Visual Basic 6 中设计界面,然后将他们转换为 Python 的代码。比较方便。 官方网站: https:/

傻安从零学python 1万+

vb6tkinter-withVB6-ZH-1.7

vb6tkinter-withVB6-ZH-1.7

Python的门面担当 - Tkinter

在大多数时候,我们都在黑黢黢的控制台里执行 Python 脚本。这看起来很酷很 GEEK。但对于部分场景下的用户来说,这样就不大美观和人性化了:我们需要交互更方便的图形化产品,也就是 GUI (图形用户界面,Graphical User Interface)。 Python 有很多可实现 GUI 的库,在之前的文章中有过一个整理:在这个什...

weixin_33690963的博客 216

lvds接口_LVDS,接口,时序讲解,非常好的文章

欢迎FPGA工程师加入官方微信技术群点击蓝字关注我们FPGA之家-中国最好最大的FPGA纯工程师社群1.1.1 LVDS接口分类1.1.1.1 单路6bit LVDS这种接口电路中,采用单路方式传输,每个基色信号采用6位数据,共18位RGB数据,因此,也称18位或18bit LVDS接口。此,也称18位或18bit LVDS接口。1.1.1.2 双路6bit LVDS这种接口电...

weixin_39639286的博客 1908

5、OpenClaw(龙虾助手)飞书机器人完整对接指南(2026最新版)

OpenClaw v2026.2.2+ 版本,防火墙内也能正常工作,是目前最稳定、最简单的企业内部AI助手部署方案。

欢迎光临~知1而N的博客 458

Python GUI Tkinter 代码生成插件 - Visual Tkinter 附源码介绍

Python GUI Tkinter 代码生成插件 - Visual Tkinter 附源码介绍 【下载地址】PythonGUITkinter代码生成插件-VisualTkinter附源码介绍 Visual Tkinter 是一款专为 Python Tkinter GUI 开发设计的可视化工具,基于 VB6 的 ADDI...

gitblog_06755的博客 618

线性回归LinearRegression

对视频中线性回归算法的相关内容进行总结与记录 文章目录一、理论基础二、实例2.1 一元线性回归2.1.1 推导过程2.1.2 代码实现(基于numpy)2.1.3 代码实现(基于sklearn)2.2 多元线性回归2.2.1 代码实现(基于numpy)2.2.2 代码实现(基于sklearn) 一、理论基础 回归 通常是指利用某个函数,尽可能把数据样本点“串”在一起,用于描述输入变量和输出变量间的变化关系 线性回归 特点:用来把数据“串”起来的那个函数是线性的 (一元线性回归(一个自变量) &a.

邱邱邱的博客 1068

Visual Tkinter 使用VB设计python界面的可视化设计工具(终结版)

Visual Tkinter 使用VB设计python界面的可视化设计工具(终结版) 【下载地址】VisualTkinter使用VB设计python界面的可视化设计工具终结版 Visual Tkinter 是一款专为 Python 开发者打造的可视化界面设计工具,基于 VB6 IDE 插件开发,让您能够通过熟悉的拖放控件...

gitblog_06790的博客 640

手把手教你用LTspice仿真扬声器阻抗曲线(附Dayton/Focal型号库)

本文详细介绍了如何使用LTspice仿真软件构建高精度扬声器模型,包括获取Dayton/Focal等厂商的SPICE模型库、模型导入方法、阻抗测试电路搭建及仿真设置。通过手把手教学,帮助读者快速掌握扬声器阻抗曲线的仿真技术,提升音响系统设计效率。

weixin_26897585的博客 391

AI Agent在营销领域的实战策略

本文从第一性原理出发,系统性拆解AI Agent在营销领域的落地逻辑、技术架构、实现方案与实战策略。全文覆盖从基础概念到高级优化的全层级知识:底层理论层面推导营销Agent的效用函数与决策框架;技术架构层面提出"感知-记忆-规划-行动-反思"五组件可落地架构;实践层面提供生产级代码实现、多行业案例与ROI提升方法论;前沿层面探讨多Agent协同、世界模型仿真等下一代技术方向。

操作系统内核探秘的博客 228

python图形界面设计工具,python的图形界面gui编程

适用对象 适用于学习了TKinter并不想太麻烦写GUI代码,也不想用其他工具和框架 比如wxPython,PyQt4的同学。适用于界面不太复杂的小程序开发,界面复杂的还是适用wxPython等框架吧 python皮卡丘代码。因为TKinter为Python标准库,使用TKinter完成的Python程序可以称为 “绿色软件”,不需要目标机器上安装wxPython,PyQt4等框架,只要有Python 的机器就能运行。如果软件逻辑不是很复杂,通常一个*.py搞定,不像其他框架,需要几个文件。

a17348的博客 763

滑块逆向及流程分析

本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!

pyzzd的博客 8009

python可视化界面加减乘除,python可视化界面设计器

大家好,小编为大家解答python可视化界面编程工具的问题。很多人还不知道python可视化界面开发工具,现在让我们一起来看看吧!Source code download: 本文相关源码如果没有接触过tk开发的同学,学习可参考以下文章:python之简易界面编程(模块搭建+界面搭建+功能完成)Python-Tkinter图形化界面设计(详细教程 )8000字,详解Tkinter的GUI界面制作!Tkinter美化之使用主题(ttkboostrap、ttkthemes)我在爬取到某个软件接口后打算写个程序,于

阿发狗伪原创 1113

AD9613操作控制

输出250M时钟给AD9613,过FPGA ILA逻辑分析仪将AD9613采集的两个通道ADC数据250M数据显示出来。其中AD9613输出的是LVDS数据,通过select IO核转为并行数据。 一,搜索IP核:selectIO interface wizad ,并双击配置 配置为input,DDR模式,数据位宽为12bit,IO类型为差分,这里配置的是12对数据差分对。然后配置外部差分时钟。 将tap setting 设置为13,将时钟的边沿对准数据的中间,以免数据出错 二,

wangjie36的博客 4050

整理 钢琴 铃木钢琴教程(铃木)

铃木钢琴 超清PDF

TS的博客 1217

python可视化界面自动生成,python如何做可视化界面

适用对象 适用于学习了TKinter并不想太麻烦写GUI代码,也不想用其他工具和框架 比如wxPython,PyQt4的同学。适用于界面不太复杂的小程序开发,界面复杂的还是适用wxPython等框架吧 pythonturtle绘制树。因为TKinter为Python标准库,使用TKinter完成的Python程序可以称为 “绿色软件”,不需要目标机器上安装wxPython,PyQt4等框架,只要有Python 的机器就能运行。如果软件逻辑不是很复杂,通常一个*.py搞定,不像其他框架,需要几个文件。

Bxwfjdjdbdgj的博客 1233

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

VisualTkinter:Python界面的可视化设计利器

VisualTkinter:Python界面的可视化设计利器 【下载地址】VisualTkinter使用VB设计python界面的可视化设计工具终结版 Visual Tkinter 是一款专为 Python 开发者打造的可视化界面设计工具,基于 VB6 IDE 插件开发,让您能够通过熟悉的拖放控件方式轻松设计 Pytho...

gitblog_06779的博客 807

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

【tkinter】Gui界面 tkinter的vb可视化工具,直接生成python代码

博客已经搬家到“捕获完成”: https://www.v2python.com 下载地址: http://pan.baidu.com/s/1kVLOrIn#list/path=%2F 依次安装,运行vb控件即可 0.简介 这是一个VB6的ADDIN(外接程序),用于使用VB6开发工具直接拖放控件,直接可视化完成Python的TKint...

捕获完成 1万+

计算机控制技术及应用

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

上一篇: Python的for循环究竟是什么回事儿
下一篇: 用Python实现谷歌的小恐龙游戏
python阿喵
博客等级 码龄6年 169粉丝 127原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值