目录

1. easygui.boolbox

2. easygui.ynbox

3. easygui.ccbox

4. easygui.buttonbox

5. easygui.indexbox

6. easygui.choicebox

7. easygui.multchoicebox


1. easygui.boolbox

函数结构如下:

boolbox(msg="Shall I continue?", title=" ", choices=("[T]rue", "[F]alse"), image=None, default_choice='[T]rue', cancel_choice='[F]alse'

选择框,提供一对按钮并相应返回 True 或 False,默认选择框如下:

import easyguieasygui.boolbox()

choices 即选项信息,默认显示为 Ture / False,可以输入其他带两个字符串元素的元组或列表替换;

#弹框如下图
#点击图片返回错误
easygui.boolbox('测试消息','测试标题',['[a]b','1[2]'],'.\\测试文件\\photo1.png')
Traceback (most recent call last):File "<input>", line 1, in <module>File "D:\Anaconda\lib\easygui\boxes\derived_boxes.py", line 147, in boolboxassert False, "The user selected an unexpected response."
AssertionError: The user selected an unexpected response.#选择第一项返回True
easygui.boolbox('测试消息','测试标题',['[a]b','1[2]'],'.\\测试文件\\photo1.png')
True#选择第二项返回False
easygui.boolbox('测试消息','测试标题',['[a]b','1[2]'],'.\\测试文件\\photo1.png')
False

choices 输入元组或列表,必须且只能包含两个字符串元素,大于或小于两个元素报错,输入非字符串类型元素,程序卡死;

choices 可以通过 '[]' 包裹快捷键,选项显示中快捷字符带下划线,默认按钮 Ture / False 快捷键即 'T'、'F',直接键盘上按相应键位,即可实现快捷选择;注意快捷键精确等价 '[]' 内快捷键值,区分大小写;包裹超过1个字符的快捷键,可以显示,实际不生效;快捷键建议使用字母、数字,使用特殊字符可能出现Event not understood ;

选择第一个选项返回 True,第二个选项返回 False,与选项显示信息无关,点击图片则报错;

#choices 输入三元素列表报错
easygui.boolbox(choices=['[a]b','1[2]3','%&'])
Traceback (most recent call last):File "<input>", line 1, in <module>File "D:\Anaconda\lib\easygui\boxes\derived_boxes.py", line 129, in boolboxraise AssertionError(
AssertionError: boolbox() takes exactly 2 choices!  Consider using indexbox() instead.#choices 输入单元素列表报错
easygui.boolbox(choices=['[a]b'])
Traceback (most recent call last):File "<input>", line 1, in <module>File "D:\Anaconda\lib\easygui\boxes\derived_boxes.py", line 129, in boolboxraise AssertionError(
AssertionError: boolbox() takes exactly 2 choices!  Consider using indexbox() instead.#choices 设置快捷键为特殊字符,显示Event not understood
easygui.boolbox(choices=['[a]b','1[#]2'])
Event not understood

defalut_choice 设置为 choices 其中一个元素时,则该按钮显示虚线环绕,提示为默认按键;

都不匹配时,则该参数没有效果,也不报错;

需注意,该配置必须与 choices 中某个元素完全一致,包括快捷键设置等,否则无效。


#高亮第一项easygui.boolbox('测试消息','测试标题',['[a]b','1[2]'],'.\\测试文件\\photo1.png','[a]b','123')True

easygui.boolbox('测试消息','测试标题',['[a]b','1[2]'],'.\\测试文件\\photo1.png','1[2]','123')False

cancel_choice 可配置,但测试未发现实际效果,直接关闭选择框返回None。

2. easygui.ynbox

函数结构如下:

ynbox(msg="Shall I continue?", title=" ", choices=("[<F1>]Yes", "[<F2>]No"), image=None, default_choice='[<F1>]Yes', cancel_choice='[<F2>]No')

选择框,基于 easygui.boolbox 修改,提供一对按钮并相应返回 True 或 False,默认选择框如下:

import easyguieasygui.ynbox()

choices 即选项显示信息,默认显示为 Yes / No,支持键盘按键 F1、F2 快捷选择;

除选项默认显示信息及快捷键外,其他操作与 easygui.boolbox 一致。

#弹框如上图
#选择第一项返回True
easygui.ynbox('测试消息','测试标题',['3[Y]1','a[4]B'],'.\\测试文件\\photo2.png','abc','123')
True#选择第二项返回False
easygui.ynbox('测试消息','测试标题',['3[Y]1','a[4]B'],'.\\测试文件\\photo2.png','abc','123')
False

3. easygui.ccbox

函数结构如下:

ccbox(msg="Shall I continue?", title=" ", choices=("C[o]ntinue", "C[a]ncel"), image=None, default_choice='Continue', cancel_choice='Cancel'

选择框,基于 easygui.boolbox 修改,提供一对按钮并相应返回 True 或 False,默认选择框如下:

import easyguieasygui.ccbox()

choices 即选项显示信息,默认显示为 Coninue / Cancel ,支持键盘按键 'o'、'a' 快捷选择;

除选项默认显示信息及快捷键外,其他操作与 easygui.boolbox 一致。

#弹框如上图
#选择第一项返回True
easygui.ynbox('测试消息','测试标题',['BZX[0]','[f]123'],'.\\测试文件\\photo3.png','abc','123')
True#选择第二项返回False
easygui.ynbox('测试消息','测试标题',['BZX[0]','[f]123'],'.\\测试文件\\photo3.png','abc','123')
False

4. easygui.buttonbox

函数结构如下:

buttonbox(msg="", title=" ", choices=("Button[1]", "Button[2]", "Button[3]"), image=None, images=None, default_choice=None, cancel_choice=None, callback=None, run=True)

按键信息框,自定义一组按键,点击后返回按钮的文本内容,默认弹框如下:

import easyguieasygui.buttonbox()

choices 即按键信息,默认显示为 Button1、Button2、Button3,可以输入带不定数字符串元素的元组或列表替换;

choices 支持单个字符串,生成一个按键;支持包含多个字符串元素的元组或列表,生成对应元素数量的按键;

choices 支持输入空白列表或者空字符串,不生成按键,只能点击弹框右上角 'X' 关闭弹框,没有返回值;不支持输入空白元组;

choices 输入字符串或元组、列表,支持快捷键,具体用法参考1. easygui.boolbox ;

点击按键,返回按键对应的字符串。

#choices 为多元素元组,生成多个按键,点击按键返回对应字符串
easygui.buttonbox('测试消息','测试标题',('[a]','1[B]','[2]C','3a4[d]e5f','&^% $'))
'3a4[d]e5f'#choices 为字符串,生成一个按键,点击按键返回对应字符串
easygui.buttonbox('测试消息','测试标题',choices='a')
'a'#choices 为空白列表或者空字符串,不生成按键,只能点击弹框右上角 'X' 关闭弹框,没有返回值
easygui.buttonbox('测试消息','测试标题',choices=[])
easygui.buttonbox('测试消息','测试标题','')

choices 为多元素元组,生成多个按键:

choices 为空白列表或空字符串:

image 写入图片路径,在消息栏和按键栏之间插入图片,点击图片后返回图片路径

easygui.buttonbox('测试消息','测试标题',('[a]','1[B]','[2]C'),'.\\测试文件\\photo1.png')'.\\测试文件\\photo1.png'

images 写入单个图片路径字符串,或多幅图片的路径元组/列表,在消息栏和按键栏之间插入一幅或多幅图片,点击图片后返回图片路径;

图片路径不存在,则显示空白按键,点击提示Image file a does not exist.

images 和 image 参数不能同时赋值,否则报错;

#images 写入多幅图片的路径列表,如下图
easygui.buttonbox('测试消息','测试标题',('[a]','1[B]','[2]C'),None,['.\\测试文件\\photo1.png','.\\测试文件\\photo2.png','.\\测试文件\\photo3.png'])
'.\\测试文件\\photo3.png'#images 写入单个图片路径字符串
easygui.buttonbox('测试消息','测试标题',('[a]','1[B]','[2]C'),None,'.\\测试文件\\photo1.png')
'.\\测试文件\\photo1.png'#images 写入图片路径不存在
easygui.buttonbox('测试消息','测试标题',('[a]','1[B]','[2]C'),None,['a','.\\测试文件\\photo1.png'])
Image file a does not exist.
'a'#images 和 image 参数同时赋值,失败报错
easygui.buttonbox('测试消息','测试标题',('[a]','1[B]','[2]C'),'.\\测试文件\\photo1.png',['.\\测试文件\\photo2.png','.\\测试文件\\photo3.png'])
Traceback (most recent call last):File "<input>", line 1, in <module>File "D:\Anaconda\lib\easygui\boxes\button_box.py", line 92, in buttonboxraise ValueError("Specify 'images' parameter only for buttonbox.")
ValueError: Specify 'images' parameter only for buttonbox.

defalut_choice 与 easygui.boolbox 相应参数类似,设置为 choices 其中一个元素时,则该按钮显示虚线环绕,提示为默认按键;

defalut_choice 设置为图片路径无效,不支持图片按键设置默认。

easygui.buttonbox('测试消息','测试标题',('[a]','1[B]','[2]C'),None,['.\\测试文件\\photo1.png','.\\测试文件\\photo2.png','.\\测试文件\\photo3.png'],'[a]')'.\\测试文件\\photo3.png'

cancel_choice 可配置,但测试未发现实际效果,直接关闭选择框返回None;

callback 设置为 True,点击 OK,返回错误信息;点击 Cancel,弹窗结束;

Run 设置为 False,直接执行返回对象,弹出空白框,程序卡死需要强制关闭;

5. easygui.indexbox

函数结构如下:

indexbox(msg="Shall I continue?", title=" ", choices=("Yes", "No"), image=None, default_choice='Yes', cancel_choice='No')

按键索引框,基于 easygui.buttonbox 修改,自定义一组按键,点击后返回按钮索引,默认弹框如下:

import easyguieasygui.indexbox()

各参数效果与 easygui.buttonbox 一致,只是选择相应按键后,返回按键在 choices 元组/列表中对应元素的索引,而非元素的信息;

另外,相较 easygui.buttonbox,easygui.indexbox 减少了 images、callback、run参数。

#选择第一个按键,返回按键索引0
easygui.indexbox('测试消息','测试标题',('[a]','1[B]','[2]C','3a4[d]e5f','&^% $'),'.\\测试文件\\photo1.png')
0#选择第四个按键,返回按键索引3
easygui.indexbox('测试消息','测试标题',('[a]','1[B]','[2]C','3a4[d]e5f','&^% $'),'.\\测试文件\\photo1.png')
3

6. easygui.choicebox

函数结构如下:

choicebox(msg="Pick an item", title="", choices=('Choice 1', 'Choice 2'), preselect=0, callback=None, run=True)

列表单选框,提供一个可选择的列表,仅能单选,默认弹框如下:

import easyguieasygui.choicebox()

choices 即待选择表单信息,可以为字符串、列表、元组、range()对象等序列类型,也可以为集合、字典类型;

choices 为序列或字典时,表单按前后顺序从上至下依次展示,为集合时则为乱序;

choices 为列表、元组、range()对象、集合,则分别展示其中各个元素;为字符串时,则依次展示各个字符;为字典时,则依次展示各个键;

双击表格中单条选项,或默认/单击选中单条选项后点击 'OK',返回选项信息;点击 'Cancel',返回 None;

可以使用键盘,按各选项首字母选择,并在选项之间切换;

#choices 为字符串,依次展示各个字符
easygui.choicebox('测试消息','测试标题','abcde')
'c'#choices 为range()对象,依次展示各个数值
easygui.choicebox('测试消息','测试标题',range(3))
'2'#choices 为列表,依次展示各个列表元素
easygui.choicebox('测试消息','测试标题',['a','ccefg','中文啊啊啊'])
'中文啊啊啊'#choices 为元组,依次展示各个元组元素
easygui.choicebox('测试消息','测试标题',('a',['ccefg',111,2.0],'中文啊啊啊'))
"['ccefg', 111, 2.0]"#choices 为集合,乱序展示各个集合元素
easygui.choicebox('测试消息','测试标题',{3,21,1,54,0,7,})
'21'#choices 为字典,依次展示各个键
easygui.choicebox('测试消息','测试标题',{'a':1234,123:'abc'})
'123'

preselect 即默认选项索引,默认为0即选择 choices 生成的选择表单中第一项,可以通过配置其他项索引进行设置;

设置索引对应的选项,打开默认显示为蓝色横条高亮+下划线;

当设置索引大于 choices 选择表单的最后一项索引,则最后一项加下划线,不带蓝色横条高亮;小于 choices 选择表单的第一项索引,则第一项加下划线,不带蓝色横条高亮;这两种情况下,直接点击OK键,都没有返回值。

#preselect 设置为索引2,即默认选择表单第三项
easygui.choicebox('测试消息','测试标题',['abc','123$','a231'],2)
'a231'

#preselect 设置为索引2,即默认选择表单第三项easygui.choicebox('测试消息','测试标题',['abc','123$','a231'],2)'a231'

#preselect 设置为大于 choices 选择表单的最后一项索引,最后一项加下划线,不带蓝色横条高亮
#直接点击OK键,都没有返回值
easygui.choicebox('测试消息','测试标题',['abc','123$','a231'],5)

7. easygui.multchoicebox

函数结构如下:

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

列表复选框,提供一个可选择的列表,可以复选,默认弹框如下:

import easyguieasygui.multchoicebox()

各个参数使用与 easygui.choicebox 一致,区别在于弹框增加 'Select All'、'Clear All' 两个按键,可以点击表单选择多个选项;

点击 'Select All',同时选择所有选项;点击 'Clear All',清空所有选项,此时点击OK,没有返回值;

选择多个选项,点击OK,返回所有选中选项的列表;

选择多个选项,双击一个选中选项,则返回除选中选项外其他选项;双击一个未选中选项,则返回所有选择选项+最后被双击的未选中选项。

easygui.multchoicebox('测试消息','测试标题','0123456',3)['0', '3', '4', '5']

进入时,按默认选择索引,高亮第四项:

选择0、3、4、5,点击OK,返回对应选项信息组成的列表:

EasyGUI-4:选择函数相关推荐

  1. 【Python+OpenCV+sklearn+easygui】人脸(口罩)识别+口罩下人脸补全的系统设计

    [写在前面:笔者是一个才接触python半年之久的编程菜鸡,刚好这学期的课程需要用到python做一些有关计算机视觉的设计,于是就根据自己所学,同时借鉴了一些CSDN上各位大佬的思路和代码,做了一个简 ...

  2. 零基础入门学习Python(33)-图形用户界面编程(GUI编程)EasyGui

    用户界面编程,即平时说的GUI(Graphical User Interface)编程,那些带有按钮.文本.输入框的窗口的编程 EasyGui是一个非常简单的GUI模块,一旦导入EasyGui模块,P ...

  3. R语言dplyr包if_else条件判断选择函数实战

    R语言dplyr包if_else条件判断选择函数实战 目录 R语言dplyr包if_else条件判断选择函数实战 #导入dplyr包 #仿真数据

  4. python学习笔记:easygui的简单示例

    学习python的图形用户界面EasyGui,转一例实例,实现的功能是统计指定文件夹下的代码行数,测试下自己所写的代码离10万行还差多少距离 先贴代码,代码不是自己写的,之前自己写的代码 无法运行,很 ...

  5. Python easyGUI 文件浏览 显示文件内容

    1 #提供一个文件浏览夹.让用户选择需要打开的文件,打开并显示文件内容: 2 3 import easygui as g 4 import os 5 msg='浏览文件并打开' 6 title='测试 ...

  6. python简易图形-python简单图形界面GUI入门——easygui【转】

    原文:https://blog.csdn.net/mingqi1996/article/details/81272621 感觉gui做起来成就感比较高,学完基础语言顺便花一个下午看看GUI设计,现在回 ...

  7. Python模块EasyGui专题学习

    Python模块EasyGui专题学习 1.msgbox(msg,title,ok_button="OK",image="",root=None) 代码 imp ...

  8. python中easygui最新下载教程_python怎么下载easygui

    详细内容 easy gui是一个模块,用于在Python中进行非常简单.非常简单的GUI编程.easygui不同于其他GUI生成器,因为easygui不是事件驱动的.相反,所有的GUI交互都是通过简单 ...

  9. 18.图像用户界面入门:EasyGui

    EasyGui学习文档: http://bbs.fishc.com/thread-46069-1-1.html import easygui as g import syswhile 1:g.msgb ...

  10. Py:python利用easygui实现最简单GUI带你学习区块链技术的发展和由来

    Py:python利用easygui实现最简单GUI带你学习区块链技术的发展和由来 目录 输出结果 实现代码 输出结果 实现代码 # -*- coding: utf-8 -*- ''' Created ...

最新文章

  1. 顺F速运,你被爱加M坑了
  2. linux系统命令学习系列-文件和目录管理
  3. 超过efficientnet
  4. 20以内混合加减法100题_一年级数学20以内加减法混合运算练习题,寒假练习巩固!...
  5. iphone发送邮件html,iPhone使用smtp服务器发送电子邮件?
  6. 在软盘上找不到id地址标记_记录一下我的群辉使用腾讯云域名解析IPv6地址
  7. sklearn随笔-归一化(标准化)
  8. 光纤收发器的AB端可随便连接吗?
  9. pythonjieba分词_$好玩的分词——python jieba分词模块的基本用法
  10. 左程云算法体系班笔记
  11. 个人主页,引导页,导航网站源码三分钟下载安装【美观大气】
  12. html5 图片缩放 鼠标滚轮,鼠标滚轮实现图片的放大缩小
  13. 6本通往高级Android开发者必看的英文书籍,附下载地址
  14. 云服务器测速脚本_VPS服务器常用性能测试脚本
  15. 怎么能跳过苹果服务器降级系统,iPhone手机可以降级任意系统版本?大神有话说...
  16. Java Java!
  17. 使用LM386的简单Arduino音频播放器和放大器
  18. 完美更新安装TensorFlow-gpu
  19. 2021年茶艺师(初级)证考试及茶艺师(初级)模拟考试题库
  20. jenv add “ln No such file or directory“解决办法

热门文章

  1. 仰恩大学2004年计算机系,再见,仰恩大学!谢谢你喂饱我的四年青春!
  2. 苹果耳机连接win10自动断开怎么回事?
  3. Java集合类之List的ArrayList之增删改查
  4. js 跳转页面后自动触发一个点击事件
  5. 黑帽大会_2020年黑帽大会上我们看到的最可怕的事情
  6. java 输入一个数,判断是奇数还是偶数
  7. JS对象、字符串以及数组之间的相互转换
  8. OBS 文本(GDI+) 底层逻辑
  9. 彻底解决安卓手机通知管理难题,顺便还实现了聊天消息防撤回!?
  10. android4版本的手机有,Android版本份额:还有两成人用安卓4.4