、在上一篇的文章中,我们了解了easygui,并且通过短短三行代码来实现了一个简单的提示框效果。这篇文章咱们再来了解一下easygui中的输入框textbox。
textbox可以用于输入多行的文字,它的函数原型如下:
textbox(msg='',title=' ',text='',codebox=False,callback=None,run=True)
前面两个参数不用多说,在上一篇文章中已经说过了。第三个参数text,是显示在多行文本输入框中的默认值,而codebox,是用于说明是否让输入域转换成codebox的显示方式。它和普通输入域的区别在于,codebox类型的输入域会忠实输出你输入的数据,如果超出输入域的边界也不会换行,它适用于需要严格显示。callback是点击提示窗口上的OK按钮后的回调函数,注意如果指定了callback,则窗口不会自动关闭,需要自己处理窗口的关闭时机。一般可以用两种方式来关闭窗口:第一种,通过传递给callback的表示打开的textbox的TextBox对象,它提供了一个stop()方法可以关闭窗口;第二种方法是使用类似于sys.exit()的方法直接退出程序。可以根据情况选择。另外,TextBox对象中有一个_text属性可以在回调方法中读取使用:
- _text:可以通过它来获取文本域中的输入信息,也可以用来设置callback()函数中返回的TextBox对象中的_text属性,但这个值不会更新到图形界面中。
如果想在回调函数中设置文本域中的输入信息,可以设置callback()中返回的TextBox对象的text属性来实现,注意这里的text是不带下划线开头的,如果带下划线的_text,则只会修改TextBox对象的 _text属性,不会更新TextBox界面:
如果想在回调函数中修改界面上的提示信息msg,则可以通过设置TextBox对象的msg属性来实现:textbox.text = "新的内容"
下面我们来看一下例子来进一步了解textbox的使用。textbox.msg = "新的提示信息"
from easygui import *
def cb(box):
print(box._text)
box.stop()
textbox("请输入您的个人介绍","个人介绍",callback=cb)
下面是它的运行效果:
可以直接通过好学好教少儿编程教学平台的在线Python编辑器运行,如下:
www.cncoding.cn/python/public_132153
和textbox还有一个类似的对话框,叫codebox,它的效果类似于将textbox中的codebox参数设置为True。但codebox不能指定callback,它的函数原型是:
codebox(msg='',title=' ',text='')
在此不再赘述。
其他部分:
在少儿编程中使用easygui来实现交互(1)——msgbox_weixin_44607635的博客-CSDN博客easygui是一个简单易用的Python图形库。它非常适合用于少儿编程教学,可以让小朋友迅速搭建出可交互的图形界面。本系列文章将详细讲解easygui的使用。https://blog.csdn.net/weixin_44607635/article/details/123525133在少儿编程中使用easygui(3):enterbox和multenterbox_weixin_44607635的博客-CSDN博客在上一篇文章中,我们使用textbox接收用户输入多行的文字。如果需要接收用户单行输入,或者接收用户多种类型的单行数据输入,则可以分别使用enterbox和multenterbox。enterbox的函数原型是:enterbox(msg='Enter something.',title=' ',default='',strip=True,image=None,root=None)其中msg和title的含义和前面两个组件的含义一样。第三个参数是输入框中的默认值。strip用于设置是否去除返https://blog.csdn.net/weixin_44607635/article/details/123624213在少儿编程中使用easygui(4):choicebox和multchoicebox_weixin_44607635的博客-CSDN博客如果我们想让用户在有限的一些选项中选择,则可以使用choicebox或者multchoicebox,它们的区别在于choicebox只能选择一个选项,而multchoicebox可以选择多个选项。choicebox的函数原型是:choicebox(msg='Pick an item',title='',choices=[],preselect=0,callback=None,run=True)其中,choices参数用于指定选项值,而preselect用于指定默认选中的选项索引,从0开始;callhttps://blog.csdn.net/weixin_44607635/article/details/123651946在少儿编程中使用easygui(5):ynbox/boolbox/ccbox_weixin_44607635的博客-CSDN博客ynbox/boolbox和ccbox这三个类型的对话框,其实作用都差不多,就是选择Yes或者No,然后程序可以根据选择的情况进行不同的处理。它们三者的原型如下:ynbox(msg='Shall I continue?',title=' ',choices=('[<F1>]Yes','[<F2>]No'),image=None,default_choice='[<F1>]Yes',cancel_choice='[<F2>]No')ccbox(msg=https://blog.csdn.net/weixin_44607635/article/details/123676726