python学习笔记之EasyGUI

什么是 EasyGUI
EasyGUI 是 Python 中一个非常简单的 GUI 编程模块,不同于其他的 GUI 生成器,它不是事件驱动的。相反,所有的 GUI 交互都是通过简地函数调用就可以实现。
EasyGUI 为用户提供了简单的 GUI 交互接口,不需要程序员知道任何有关 tkinter,框架,部件,回调或 lambda 的任何细节。
EasyGUI 可以很好地兼容 Python 2 和 3,并且不存在任何依赖关系。
EasyGUI 是运行在 Tkinter 上并拥有自身的事件循环,而 IDLE 也是 Tkinter 写的一个应用程序并也拥有自身的事件循环。因此当两者同时运行的时候,有可能会发生冲突,且带来不可预测的结果。因此如果你发现你的 EasyGUI 程序有这样的问题,请尝试在 IDLE 外去运行你的程序。

我自己使用的是pycharm编辑器,以下记录在pycharm中导入EasyGUI包

  1. 使用pip进行安装EasyGUI
打开命令行窗口,输入 pip install easygui 即可
  1. 打开pycharm中file–settings
    在这里插入图片描述
    单击+按钮:
    在这里插入图片描述
    这样就添加成功了
    接下来下一段代码实现以下吧:
import easygui as g
import sys

while 1:
    g.msgbox("嗨,欢迎进入点单界面")

    msg = "请问你想喝什么咖啡?"
    title = "点单"
    choices = ["焦糖玛奇朵", "香草馥芮白", "手冲", "卡布奇诺"]

    choice = g.choicebox(msg, title, choices)

    # 注意,msgbox的参数是一个字符串
    # 如果用户选择Cancel,该函数返回None
    g.msgbox("你的选择是: " + str(choice), "结果")

    msg = "你希望重新开始选择吗?"
    title = "请选择"

    # 弹出一个Continue/Cancel对话框
    if g.ccbox(msg, title):
        pass  # 如果用户选择Continue
    else:
        sys.exit(0)  # 如果用户选择Cancel

EasyGUI 的各种功能演示

要运行 EasyGUI 的演示程序,在命令行调用 EasyGUI 是这样的:

python easygui.py

或者可以从 IDE(例如 IDLE, PythonWin, Wing, 等等)上调用:

>>> import easygui
>>> easygui.egdemo()

成功调用后将可以尝试 EasyGUI 拥有的各种功能,并将结果打印至控制台。
在这里插入图片描述

导入 EasyGUI

为了使用 EasyGUI 这个模块,你应该先导入它。
最简单的导入语句是:

import easygui

如果使用上面这种形式导入的话,那么你使用 EasyGUI 的函数的时候,必须在函数的前面加上前缀 easygui,像这样:

easygui.msgbox(...)

另一种选择是导入整个 EasyGUI 包:

from easygui import *

这使得我们更容易调用 EasyGUI 的函数,可以直接这样编写代码:

msgbox(...)

第三种方案是使用类似下边的 import 语句:

import easygui as g

这种方法还可以让你保持 EasyGUI 的命名空间,同时减少你的打字数量。
导入之后就可以这么调用 EasyGUI 的函数:

g.msgbox(...)

使用 EasyGUI

一旦你的模块导入 EasyGUI,GUI 操作就是一个简单的调用 EasyGUI 函数的几个参数的问题了。
例如,使用 EasyGUI 来实现世界上最著名的打招呼:

import easygui as g
g.msgbox("Hello, world!")

在这里插入图片描述

EasyGUI 函数的默认参数

对于所有对话框而言,前两个参数都是消息主体和对话框标题。
按照这个规律,在某种情况下,这可能不是理想的布局设计(比如当对话框在获取目录或文件名的时候会选择忽略消息参数),但保持这种一致性且贯穿于所有的窗口部件是更为得体的考虑!
绝大部分的 EasyGUI 函数都有默认参数,几乎所有的组件都会显示消息主体和对话框标题。
标题默认是空字符串,消息主体通常有一个简单的默认值。
这使得你可以尽可能少的去设置参数,比如 msgbox() 函数标题部分的参数是可选的,因此你调用 msgbox() 的时候只需要指定一个消息参数即可,例如:

>>> msgbox('我的第一个EasyGUI')

当然也可以指定标题参数和消息参数,例如:

from easygui import *
msgbox('我的第一个EasyGUI', '哈哈')

运行显示:
在这里插入图片描述
在各类按钮组件里,默认的消息是 “Shall I continue?”,所以可以不带任何参数地去调用它们。
这里演示不带任何参数地去调用 ccbox(),当选择 “cancel” 或关闭窗口的时候返回一个布尔类型的值:

if ccbox(): 
        pass         # 用户选择继续
else: 
        return      # 用户选择取消

使用关键字参数调用 EasyGUI 的函数

调用 EasyGUI 函数还可以使用关键字参数。
现在假设需要使用一个按钮组件,但你不想指定标题参数(第二个参数),仍可以

  • 7
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值