在少儿编程中使用easygui(2):textbox

在上一篇的文章中,我们了解了easygui,并且通过短短三行代码来实现了一个简单的提示框效果。这篇文章咱们再来了解一下easygui中的输入框textbox。

textbox可以用于输入多行的文字,它的函数原型如下:

  1. 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界面:
    1. textbox.text = "新的内容"
    如果想在回调函数中修改界面上的提示信息msg,则可以通过设置TextBox对象的msg属性来实现:
    1. textbox.msg = "新的提示信息"
    下面我们来看一下例子来进一步了解textbox的使用。
  1. from easygui import *
  2. def cb(box):
  3. print(box._text)
  4. box.stop()
  5. textbox("请输入您的个人介绍","个人介绍",callback=cb)

下面是它的运行效果:

可以直接通过好学好教少儿编程教学平台的在线Python编辑器运行,如下:
www.cncoding.cn/python/public_132153

和textbox还有一个类似的对话框,叫codebox,它的效果类似于将textbox中的codebox参数设置为True。但codebox不能指定callback,它的函数原型是:

  1. codebox(msg='',title=' ',text='')
微信扫一扫,分享此文章

少儿编程教学平台

联系我们

微信

aguibo002

邮箱

haoxuehaojiao在163.com

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