在少儿编程中使用easygui来实现交互(4)——choicebox和multchoicebox

如果我们想让用户在有限的一些选项中选择,则可以使用choicebox或者multchoicebox,它们的区别在于choicebox只能选择一个选项,而multchoicebox可以选择多个选项。choicebox的函数原型是:

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

其中,choices参数用于指定选项值,而preselect用于指定默认选中的选项索引,从0开始;callback是回调函数,它接收一个ChoiceBox对象作为返回值,可以根据ChoiceBox对象中的choices属性获得选中的值。
下面我们来看一个例子:

  1. from easygui import *
  2. text = "选择您所在的省/市"
  3. title = "所在省/市"
  4. # 选项
  5. choices = ["北京", "上海", "广东", "香港"]
  6. def cb(v):
  7. print(v.choices)
  8. v.stop()
  9. # 创建一个choicebox
  10. output = choicebox(text,title, choices=choices,callback=cb)
  11. # 信息提示框标题
  12. title = "Message Box"
  13. # 信息
  14. message = "您选择了:" + str(output)
  15. # 用信息提示框显示用户的选择
  16. msg = msgbox(message, title)

它的执行效果如下图所示:

当选择其中一个选项后,将会显示在新弹出的MsgBox中,如下图所示:

以上代码可以直接访问此链接查看执行效果。
如果要让用户可以从多个选项中选取多个,则可以使用multchoicebox()函数,它将会显示一个多选多的选择对话窗口。multchoicebox()函数的原型是:

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

其参数含义和choicebox中的一样,不再赘述。它和choicebox相比较,在界面上多了两个按钮:Select All和Clear All,分别用于全选和情况选择。它的返回值是一个包含选中选项值的列表。

详细的例子,也可以访问此网址查看。

微信扫一扫,分享此文章

少儿编程教学平台

联系我们

微信

aguibo002

邮箱

haoxuehaojiao在163.com

Loading
我们已经收到您的信息,将尽快联系您!