Python自学 - 站在GUI编程门前(请先捡个装备-EasyGUI)

<< 返回目录

1 Python自学 - 站在GUI编程门前(请先捡个装备-EasyGUI)

  如果读者要开发工具,并且除了给自己用,还想分享给其他人,那很请记住如下的宗旨:

一个好的工具,除了需要给用户带来功能,还需要给用户带来便利!

这是一个工具的道德底线,如果读者将来开发的工具,各项功能牛逼轰轰,但是排版混乱,操作复杂,极其难用,很快就会失去生命力!如果这些功能是必须品,那很快就会有受不了的好事者开发出更好用的替代品!

  不管这个工具面向的范围是部门团队、公司同事,还是全网用户,请记住一定要在保证功能正确的前提下,尽可能的让用户可以高效和方便的使用!

名词解释:
GUI: 读作“噜依”, 是Graphical User Interface的首字母编写,即,图形用户界面。

1.1 为什么GUI很重要

  相对于命令行工具,图形工具的受众会要广泛得多,这里面有各行种业的人,有些人对电脑知识堪堪入门,命令怎么输入都不懂,只会用鼠标点点点,有些是电脑高手,自己有丰富的编程经验。哪怕是电脑高手,如果有图形界面程序,多数人也会优先选择。因此,提供图形界面,可以让你的工具帮助到更多的人!创造更大的社会价值!

1.2 在Python下的GUI编程资源

1.2.1 比较流行的GUI库

  Python下可用的GUI库有很多,常用的比较中大型的GUI库有如下几种:

  • Tkinter
      TkinterPython 的标准 GUI 库,它是 Tk 图形用户界面工具包的 Python 接口。Tkinter 提供了创建窗口按钮标签文本框等各种 GUI 组件的功能。
    优点Python的自带的标准GUI库,用户不需要单独安装,基本功能成熟稳定,没有商用风险!
    缺点巨丑!设计窗口也极不方便,要么用户自己用代码排版窗口,网上在在线设计器,但存在使用成本,以及修改界面后,又会涉及本地代码的同步修改,远没有传统的RAD开发工具方便!

  • PyQt
      PyQtPython 的一个 GUI 库,它是 Qt 库的 Python 绑定。Qt 是一个功能强大的跨平台 C++ GUI 框架,PyQt 继承了 Qt 的强大功能,提供了丰富的 GUI 组件和工具,支持高级的界面设计和交互功能,适用于开发大型、功能复杂的 GUI 应用程序,并且具有良好的跨平台性。
    优点:功能极其强大!是开发大型项目的首选!
    缺点:商用需要授权

  • wxPython
      wxPython 是 Python 的一个 GUI 库,它是 wxWidgets 库的 Python 绑定。wxWidgets 是一个跨平台的 C++ GUI 库,wxPython 提供了丰富的 GUI 组件和功能,具有良好的跨平台兼容性,能够在 Windows、Mac、Linux 等多个平台上运行,适用于开发各种类型的 GUI 应用程序,尤其是需要与本地系统进行深度集成的应用。
    优点:开源免费,老牌GUI库,界面库很强大!
    缺点:界面设计软件相对弱点,众多开源的半成品中wxFormBuilder可用性相对较好。
    注:wxFormBuilder本文作者贡献过几行代码,主要涉及易用性效率(1,属性编辑面板可记住上次编辑的属性,提高修改多个控件相同属性的效率;2,属性编辑面板和窗口设计器位置交换,可缩短鼠标行程,提高操作效率)。

  • Kivy
      Kivy 是一个开源的 Python 库,用于开发跨平台的触摸式应用程序,特别适用于开发移动应用和多媒体应用。Kivy 具有强大的图形渲染能力和触摸事件处理功能,支持多种手势识别,能够创建出流畅、美观的用户界面,并且可以在 Windows、Mac、Linux、Android、iOS 等多个平台上运行。
    读者可以自行阅读官方文档。

  • PySimpleGUI
      PySimpleGUI 是一个简单易用的 Python GUI 库,它的设计目标是让用户能够快速、轻松地创建 GUI 应用程序,而无需深入了解复杂的 GUI 框架。PySimpleGUI 提供了简洁的 API,隐藏了底层 GUI 库的复杂性,适用于快速原型开发和简单的 GUI 应用场景。

  • EasyGUI
      EasyGUITkinter 的一个封装,该库提供了一些常用的提示对话框确定对话框输入对话框选项对话框文件对话框目录选择框等。外观虽然算不上精美(源自Tkinter),但对于很大一部分打开后只需要用户输入简单信息的工具,时间成本是几十倍的降低使用这些对话框,完全不需要用户去布局界面元素

1.3 几个EasyGUI小示例

  提示:安装easygui可以使用命令pip install easygui.

1.3.1 弹出提示框

import easygui

easygui.msgbox("这是一个消息框", "EasyGUI介绍")

效果:
在这里插入图片描述

说明:是不是很丑?但是用着很方便,其他GUI库都要写大量的界面布局代码,这个直接就能用!

1.3.2 输出输入框

import easygui

name = easygui.enterbox("请输入你的名字", "输入框")
print(f"你输入的名字是: {name}") #当然,可以是其他业务代码

效果:
在这里插入图片描述

1.3.3 多数据输入

from  easygui import *

msg = "Enter your personal information"
title = "Credit Card Application"
fieldNames = ["Name","Street Address","City","State","ZipCode"]
fieldValues = []  # we start with blanks for the values
fieldValues = multenterbox(msg,title, fieldNames)

# make sure that none of the fields was left blank
while 1:
    if fieldValues == None: break
    errmsg = ""
    for i in range(len(fieldNames)):
      if fieldValues[i].strip() == "":
        errmsg = errmsg + ('"%s" is a required field.\n\n' % fieldNames[i])
    if errmsg == "": break # no problems found
    fieldValues = multenterbox(errmsg, title, fieldNames, fieldValues)
print("Reply was:", fieldValues)

注:这里输入项的多少可以自己设置,fieldNames定义了多少项数据

效果
在这里插入图片描述

更多的对话框,请阅读官方文档:EasyGUI官网

1.3.4 总结

  EasyGUI应该是所有Python GUI库里使用代价最小的库了,它不需要一行界面布局代码,同时又能解决大部分的界面交互需求!是开发小工具的非常好的选择!我对它的评价:很丑但是很温柔


作者声明:本文用于记录和分享作者的学习心得,可能有部分文字或示例来源自豆包AI,由于本人水平有限,难免存在表达错误,欢迎留言交流和指教!
Copyright © 2022~2025 All rights reserved.

<< 返回目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值