EasyGui文档:python图形界面入门

EasyGui文档:python图形界面入门

EasyGui是什么?

EasyGui是python的一个基于Tkinter的图形界面模块

EasyGui能做什么什么?

EasyGui正如其名字中的Easy,简单是其最大的特点,EasyGui无法提供高度定制化的GUI,但是它可以通过简单的代码实现一些常用的功能界面,比如登录界面,选择界面等,并提供一些必要的控制选项(窗口大小,标题,按钮文字等)

安装EasyGui

EasyGui模块可以直接通过pip工具安装,在命令行中输入:

pip install easygui

查看已经安装的模块:

pip list

第一个EasyGui程序

通过msgbox函数来实现一个窗口

import easygui as eg
eg.msgbox('Hello World!')


msgbox()即是EasyGui的函数,EasyGui通过提供这样的函数来为显示窗口,可以通过egdemo()函数来运行所有这些函数的演示

import easygui as eg
eg.egdemo()

下面来一一介绍

  1. msgbox

  2. ccbox

  3. ynbox

  4. buttonbox

  5. indexbox

  6. boolbox

  7. choicebox

  8. multchoicebox

  9. enterbox

  10. integerbox

  11. multenterbox

  12. passwordbox

  13. multpasswordbox

  14. textbox

  15. codebox

  16. diropenbox

  17. fileopenbox

  18. filesavebox

消息窗口

msgbox()

显示一个消息窗口,可以提供一个文字按钮和一个图片按钮

msgbox(
msg='', 
title=' ', 
ok_button='OK', 
image=None, 
root=None)
  • msg参数提供消息内容

  • title参数提供窗口标题

  • ok_button参数提供按钮的文字和按下按钮后文件的返回值(按下按钮返回按钮上的文字)

  • image参数提供一个图片按钮,需要是图片的文件名或路径(仅支持gif和png),按下按钮返回按钮图片的路径或文件名

如果点x关闭窗口,函数将返回None

easygui的许多函数的参数的作用和一些特性都相同,后续的重复部分将不再介绍

ccbox()

显示一个选择窗口,有两个按钮,点击分别返回Ture和False

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


  • choices参数,决定两个按钮的文字和按钮快捷键,需要是有两个元素的元组或列表,元素中用[ ]扩起一个字母可以将此字母作为按钮的快捷键,使用[<>]扩起F1这类功能键可以令其作为按钮的快捷键

📌如果使用image参数使用图片,点击图片会报错

ynbox()

显示一个选择窗口,有两个按钮,点击分别返回Ture和False,除了默认参数几乎和ccbox()函数一致

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

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)

  • choices参数可以是元组或列表,决定了按钮的个数,文字,快捷键,点击返回值

  • images参数可以是元组或列表,可以创建多个图片按钮

  • callback参数可以是一个函数,在窗口创建时会自动调用

indexbox()

显示一个选择窗口,可以自定义按钮数量,点击按钮的返回值按照choices序列从0开始,类似buttonbox()

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

boolbox()

显示一个选择窗口,有两个按钮,选中返回 True或返回 False。基本和ccbox()一样

boolbox(
msg='Shall I continue?', 
title=' ', 
choices=('[Y]es', '[N]o'), 
image=None, 
default_choice='Yes', 
cancel_choice='No')

📌如果使用image参数使用图片,点击图片会报错

列表选择

choicebox()

显示一个列表选择窗口,只能选中一个,选中后点击按钮后将返回所选中的元素

choicebox(
msg='Pick an item', 
title='', 
choices=[], 
preselect=0, 
callback=None, 
run=True)
  • preselect参数可以指定默认选中的元素

点击Cancel按钮或x掉窗口或不选中元素点击Ok按钮会返回None

multchoicebox()

显示一个列表选择窗口,可以选中多个,选中后点击按钮后将返回所选中的元素组成的列表

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

点击Cancel按钮或x掉窗口或不选中元素点击Ok按钮会返回None

输入窗口

enterbox()

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

enterbox(
msg='Enter something.', 
title=' ', 
default='', 
strip=True, 
image=None, 
root=None)
  • default参数是输入框的默认值

  • image参数可以单纯显示一张图片

integerbox()

提供一个简单的输入框,只能输入范围内的整型数值,否则会要求重新输入,返回值为用户输入的整型数值

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

  • lowerbound参数设置输入最小值

  • upperbound参数设置输入最大值

multenterbox()

提供多个简单的输入框,返回输入组成的列表,注意:

  • 如果用户输入的值比选项少的话,则返回列表中的值用空字符串填充用户为输入的选项。

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

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

multenterbox(
msg='Fill in values for the fields.', 
title=' ', 
fields=[], 
values=[], 
callback=None, 
run=True)
  • fields参数决定输入框的数量和文字

  • values参数决定输入框的默认值


密码输入窗口

passwordbox()

和enterbox() 差不多,但是用户输入的内容用星号( *)显示出来,返回用户输入的字符串

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

multpasswordbox()

和multenterbox() 差不多,但是最后一个输入框的内容用星号( *)显示出来,返回用户输入的字符串组成的列表

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

显示文本

textbox()

默认以比例字体显示文本内容(自动换行),文本内容可编辑,点击Ok键关闭会返回返回文本内容,否则返回None

textbox(
msg='', 
title=' ', 
text='', 
codebox=False, 
callback=None, 
run=True)
  • codebox参数决定以比例字体(自动换行)或等宽字体(不自动换行)显示,默认为True,以比例字体(自动换行)显示

codebox()

相当于codebox=True的textbox()

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

codebox()

相当于codebox=True的textbox()

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

目录和文件

diropenbox()

创建一个目录选择框,可以新建文件夹,选择目录点击Ok键可以返回所选目录的路径

diropenbox(
msg=None, 
title=None, 
default=None)
  • default参数用于设置默认的打开目录

fileopenbox()

创建一个文件选择框,可以返回所选文件的路径

fileopenbox(
msg=None, 
title=None, 
default='*', 
filetypes=None, 
multiple=False)
  • default参数用于设置筛选的文件类型,比如 *.py

  • multiple参数为True时可以选择多个文件

  • filetypes 参数可以是包含文件掩码的字符串列表,例如:filetypes = [" *.txt"]

  • filetypes 参数可以是字符串列表,列表的最后一项字符串是文件类型的描述,例如:filetypes = [".css", [".htm", " *.html", "HTML files"]]

filesavebox()

创建一个目录选择框,可以返回保存文件的路径

filesavebox(
msg=None, 
title=None, 
default='', 
filetypes=None)
  • default参数是保存文件的名字

  • multiple参数为True时可以选择多个文件

  • filetypes 参数参见fileopenbox函数

参考

本文图片均来自鱼c
【新提醒】EasyGUI 学习文档【超详细中文版】,《零基础入门学习Python》,Python交流,鱼C论坛 - Powered by Discuz! (fishc.com.cn)

posted @ 2022-08-09 16:43  HQWQF  阅读(799)  评论(0)    收藏  举报