栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

少儿Python——图形用户界面编程(2)--easygui

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

可爱的小朋友们,今天我们继续来学习easygui的其他函数调用吧~

 

01

为用户提供一系列选项

1.1 choicebox()

 

choicebox(msg='Pick an item', title='', choices=[], preselect=0, callback=None, run=True)

按钮组件方便提供用户一个简单的按钮选项,但如果有很多选项,或者选项的内容特别长的话,更好的策略是为它们提供一个可选择的列表。   

choicebox() 为用户提供了一个可选择的列表,使用序列(元祖或列表)作为选项,这些选项会按照字母进行排序。

 

案例:

  •  
  •  
  •  
  •  
  •  
>>> import easygui as g>>> msg="选择你喜欢的水果">>> title="选择水果">>> choices=['banana','apple','pear','orange']>>> g.choicebox(msg,title,choices)

 

 


少儿Python——图形用户界面编程(2)--easygui

图1 choicebox运行结果

 

1.2 multchoicebox()

 

multchoicebox(msg='Pick an item', title='', choices=[], preselect=0, callback=None, run=True)

multchoicebox() 函数也是提供一个可选择的列表,与 choicebox() 不同的是,multchoicebox() 支持用户选择 0 个,1 个或者同时选择多个选项。

multchoicebox() 函数也是使用序列(元祖或列表)作为选项,这些选项显示前会按照不区分大小写的方法排好序。
 

案例:

  •  
  •  
  •  
  •  
  •  
  •  
>>> import easygui as g>>> msg="在下列选项中选择你的爱好是:">>> title="选择你的爱好">>> choices=['唱歌','跳舞','书法','画画','编程','品茶']>>> g.multchoicebox(msg,title,choices)

 


少儿Python——图形用户界面编程(2)--easygui

图2 multchoicebox() 运行结果

 

02

让用户输入消息

 

2.1 enterbox()

 

enterbox(msg='Enter something.', title=' ', default='', strip=True, image=None, root=None)

enterbox() 为用户提供一个**简单的输入框,返回值为用户输入的字符串。

默认返回的值会自动去除首尾的空格,如果需要保留首尾空格的话请设置参数 strip=False。

 

案例:

  •  
  •  
>>> import easygui as g>>> g.enterbox(msg="请输入一句你想对小编姐姐说的话")

 


少儿Python——图形用户界面编程(2)--easygui

图3 enterbox 运行结果

 

2.2 integerbox()

 

integerbox(msg='', title=' ', default=None, lowerbound=0, upperbound=99, image=None, root=None)

integerbox() 为用户提供一个简单的输入框,用户只能输入范围内(lowerbound 参数设置**小值,upperbound 参数设置**大值)的整型数值,否则会要求用户重新输入。

 

2.3 multenterbox()

 

multenterbox(msg='Fill in values for the fields.', title=' ', fields=[], values=[], callback=None, run=True)

multenterbox() 为用户提供多个简单的输入框,要注意以下几点:
(1) 如果用户输入的值比选项少的话,则返回列表中的值用空字符串填充用户为输入的选项。

(2)如果用户输入的值比选项多的话,则返回的列表中的值将截断为选项的数量。

(3)如果用户取消操作,则返回域中的列表的值或者 None 值。

 

案例:

  •  
  •  
  •  
  •  
  •  
  •  
  •  
>>> import easygui as g>>> msg="【*姓名】为必填项n【*手机号码】为必填项n【*学号】为必填项">>> title="账号中心">>> fields=['学号','姓名','手机号码','QQ','邮箱']>>> values=[]>>> g.multenterbox(msg,title,fields,values)

 


少儿Python——图形用户界面编程(2)--easygui

图4 multenterbox()运行结果

 

03

让用户输入密码

3.1 passwordbox()

 

passwordbox(msg='Enter your password.', title=' ', default='', image=None, root=None)

有时候可能需要让用户输入密码等敏感信息,那么界面看上去应该是这样的:*******。

passwordbox() 跟 enterbox() 样式一样,不同的是用户输入的内容用星号(*)显示出来,该函数返回用户输入的字符串:

 

案例:

  •  
  •  
>>> import easygui as g>>> g.passwordbox("请输入密码:")

 


少儿Python——图形用户界面编程(2)--easygui

图5 passwordbox运行结果

 

3.2 multpasswordbox()

 

multpasswordbox(msg='Fill in values for the fields.', title=' ', fields=(), values=(), callback=None, run=True)

multpasswordbox() 跟 multenterbox() 使用相同的接口,但当它显示的时候,**后一个输入框显示为密码的形式(*)

 

案例:

  •  
  •  
>>> import easygui as g>>> g.multpasswordbox(msg="请输入用户名和密码",title="登录",fields=("用户名","密码"),values=())

 


少儿Python——图形用户界面编程(2)--easygui

图6 multpasswordbox()运行结果

 

04

显示文本

4.1 textbox()

 

textbox(msg='', title=' ', text='', codebox=False, callback=None, run=True)

textbox() 函数默认会以比例字体(参数 codebox=True 设置为等宽字体)来显示文本内容(自动换行),这个函数适合用于显示一般的书面文字。
注:text 参数设置可编辑文本区域的内容,可以是字符串、列表或者元祖类型。

 

案例:

  •  
  •  
>>> import easygui as g>>> g.textbox(msg="文件的内容如下:",title="显示文本内容",text="")

 

 


少儿Python——图形用户界面编程(2)--easygui

图7 textbox运行结果

 

4.2 codebox()

 

codebox(msg='', title=' ', text='')

codebox() 以等宽字体显示文本内容(不自动换行),相当于 textbox(codebox=True)

 

05

目录与文件

GUI 编程中一个常见的场景是要求用户输入目录及文件名,EasyGUI 提供了一些基本函数让用户来浏览文件系统,选择一个目录或文件。

5.1 diropenbox()


diropenbox(msg=None, title=None, default=None)


diropenbox() 函数用于提供一个对话框,返回用户选择的目录名(带完整路径哦),如果用户选择 “Cancel” 则返回 None。
default 参数用于设置默认的打开目录(请确保设置的目录已存在)。
案例:

  •  
>>> g.diropenbox(msg="浏览文件夹",title="选择一个文件夹",default="F:编程学习Python汇总")

 

 


少儿Python——图形用户界面编程(2)--easygui

图7diropenbox运行结果

 

 

5.2 fileopenbox()

 

fileopenbox(msg=None, title=None, default='*', filetypes=None, multiple=False)

fileopenbox() 函数用于提供一个对话框,返回用户选择的文件名(带完整路径哦),如果用户选择 “Cancel” 则返回 None。

关于 default 参数的设置方法:
(1) default 参数指定一个默认路径,通常包含一个或多个通配符。

(2)如果设置了 default 参数,fileopenbox() 显示默认的文件路径和格式。

(3)default 默认的参数是 '*',即匹配所有格式的文件。


例如:
default="C/python编程/*.py" 即显示 C:python编程文件夹下所有的 Python 文件。

 

5.3 filesavebox()

filesavebox(msg=None, title=None, default='', filetypes=None)

filesavebox() 函数提供一个对话框,让用于选择文件需要保存的路径(带完整路径哦),如果用户选择 “Cancel” 则返回 None。

default 参数应该包含一个文件名(例如当前需要保存的文件名),当然也可以设置为空的,或者包含一个文件格式掩码的通配符。

06

记住用户的设置

 

6.1 EgStore

 

GUI 编程中一个常见的场景就是要求用户设置一下参数,然后保存下来,以便下次用户使用你的程序的时候可以记住他的设置。
为了实现对用户的设置进行存储和恢复这一过程,EasyGUI 提供了一个叫做 EgStore 的类。

<1>为了记住某些设置,你的应用程序必须定义一个类(下面案例中的 “Settings”)继承自 EgStore 类。
<2>然后你的应用程序必须创建一个该类的实例化对象(下面案例中的 “settings”)。

<3>设置类的构造函数(__init__ 方法)必须初始化所有的你想要它所记住的那些值。
一旦你这样做了,你就可以在 settings 对象中通过设定值去实例化变量,从而很简单地记住设置。

<4>之后使用 settings.store() 方法在硬盘上持久化保存。

下面创建一个叫做 “Settings” 的类:

 

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
from easygui import EgStore# 定义一个叫做“Settings”的类,继承自EgStore类class Settings(EgStore):    def __init__(self, filename):  # 需要指定文件名        # 指定要记住的属性名称        self.author = ""        self.poem = ""         # 必须执行下面两个语句        self.filename = filename        self.restore()# 创建“Settings”的实例化对象“settings”settingsFilename = "settings.txt"settings = Settings(settingsFilename)author = "徐志摩"poem = "《再别康桥》"# 将上面两个变量的值保存到“settings”对象中settings.author = authorsettings.poem = poemsettings.store()print("n保存完毕n")

 

 

07

 捕获异常

 

exceptionbox()

使用 EasyGUI 编写 GUI 程序,有时候难免会产生异常。当然这取决于你如何运行你的应用程序,当你的应用程序崩溃的时候,堆栈追踪可能会被抛出,或者被写入到 stdout 标准输出函数中。
EasyGUI 通过 exceptionbox() 函数提供了更好的方式去处理异常。
 

  •  
  •  
  •  
  •  
  •  
try:    print('i love programming')    int('a')except:    exceptionbox()




转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/805436.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号