wxPython in Action (TextEntryDialog
来源:互联网 发布:贵州网络微商传销 编辑:程序博客网 时间:2024/05/14 19:39
9.1.3 如何从用户得到短的文本?
这第二个简单类型的对话框是wx.TextEntryDialog,它被用于从用户那里得到短的文本输入。它通常用在在程序的开始时要求用户名或密码的时候,或作为一个数据输入表单的基本替代物。图9.3显示了一个典型的文本对话框。
图9.3文本输入标准对话框
例9.3显示了产生图9.3的代码
例9.3
importwx
if__name__ == "__main__":
app = wx.PySimpleApp()
dialog = wx.TextEntryDialog(None,
"What kind of text would you like to enter?",
"Text Entry", "Default Value", style=wx.OK|wx.CANCEL)
if dialog.ShowModal() == wx.ID_OK:
print "You entered: %s" % dialog.GetValue()
dialog.Destroy()
在前一小节,我们创建了一个对话框类的实例,在这里,我们要用到的对话框类是wx.TextEntryDialog。该类的构造函数比简单消息对话框要复杂一些:
wx.TextEntryDialog(parent,message, caption="Please enter text",
defaultValue="", style=wx.OK | wx.CANCEL | wx.CENTRE,
pos=wx.DefaultPosition)
message参数是显示在对话框中的文本提示,而caption显示在标题栏中。defaultValue显示在文本框中的默认值。style可以包括wx.OK和wx.CANCEL,它显示适当的按钮。
几个wx.TextCtrl的样式也可以用在这里。最有用的应该是wx.TE_PASSWORD,它掩饰所输入的真实密码。你也可以使用wx.TE_MULTILINE来使用户能够在对话框中输入多行文本,也可以使用wx.TE_LEFT,wx.TE_CENTRE, 和 wx.TE_RIGHT来调整所输入的文本的对齐位置。
例9.3的最后显示了在文本框和对话框之间的另一区别。用户所输入的信息被存储在该对话框实例中,并且以后必须应用程序获取。在这种情况下,你可以使用对话框的GetValue()方法来得到该值。记住,如果用户按下Cancel(取消)去退出该对话框,这意味他们不想去使用他所键入的值。你也可以在程序中使用SetValue()方法来设置该值。
下面这些是使用文本对话框的便利函数:
1、wx.GetTextFromUser()
2、wx.GetPasswordFromUser()
3、wx.GetNumberFromUser()
其中和例9.3的用处最近似的是wx.GetTextFromUser():
wx.GetTextFromUser(message,caption="Input text",
default_value="", parent=None)
这里的message,caption, default_value, 和 parent与wx.TextEntryDialog的构造函数中的一样。如果用户按下OK,该函数的返回值是用户所输入的字符串。如果用户按下Cancel,该函数返回空字符串。
如果你希望用户输入密码,你可以使用wx.GetPasswordFromUser()函数:
wx.GetPasswordFromUser(message,caption="Input text",
default_value="", parent=None)
这里的参数意义和前面的一样。用户的输入被显示为星号,如果用户按下OK,该函数的返回值是用户所输入的字符串。如果用户按下Cancel,该函数返回空字符串。
最后,你可以使用wx.GetNumberFromUser()要求用户输入一个数字:
wx.GetNumberFromUser(message,prompt, caption, value, min=0,
max=100, parent=None)
这里的参数的意义有一点不同,message是显在prompt上部的任意长度的消息,value参数是默认显示在文本框中的长整型值。min和max参数为用户的输入限定一个范围。如果用户按下OK按钮退出的话,该方法返回所输入的值,并转换为长整型。如果这个值不能转换为一个数字,或不在指定的范围内,那么该函数返回-1,这意味如果你将该函数用于负数的范围的话,你可能要考虑一个转换的方法。
9.1.4如何用对话框显示选项列表?
如果给你的用户一个空的文本输入域显得太自由了,那么你可以使用wx.SingleChoiceDialog来让他们在一组选项中作单一的选择。图9.4显示了一个例子。
图9.4一个单选对话框
例9.4显示了产生图9.4的代码
例9.4显示一个选择列表对话框
importwx
if__name__ == "__main__":
app = wx.PySimpleApp()
choices = ["Alpha", "Baker", "Charlie", "Delta"]
dialog = wx.SingleChoiceDialog(None, "Pick A Word", "Choices",
choices)
if dialog.ShowModal() == wx.ID_OK:
print "You selected: %s\n" % dialog.GetStringSelection()
dialog.Destroy()
wx.SingleChoiceDialog的构造函数如下所示:
wx.SingleChoiceDialog(parent,message, caption, choices,
clientData=None, style=wx.OK | wx.CANCEL | wx.CENTRE,
pos=wx.DefaultPosition)
message和caption参数的意义与前面的一样,分别显示在对话框和标题栏中。choices参数要求一个字符串的列表,它们是你呈现在对话框中的选项。style参数有三个项,这是默认的,分别是OK按钮、Cancle按钮和使对话框在屏幕中居中。centre选项和pos参数在Windows操作系统上不工作。
如果你想在用户看见对话框之前,设置它的默认选项,使用SetSelection(selection)方法。参数selection是选项的索引值,而非实际选择的字符串。在用户选择了一个选项后,你即可以使用GetSelection()——它返回所选项的索引值,也可以使用GetStringSelection()——它返回实际所选的字符串,来得到它。
有两个用于单选对话框的便利函数。第一个是wx.GetSingleChoice,它返回用户所选的字符串:
wx.GetSingleChoice(message,caption, aChoices, parent=None)
参数message,caption, 和parent的意义和wx.SingleChoiceDialog构造函数的一样。aChoices参数是选项的列表。如果用户按下OK,则返回值是所选的字符串,如果用户按下Cancel,则返回值是空字符串。这意味如果空字符是一个有效的选择的话,那么你就不该使用这个函数。
第二个是wx.GetSingleChoiceIndex:
wx.GetSingleChoiceIndex(message,caption, aChoices, parent=None)
这个函数与第一个有相同的参数,但是返回值不同。如果用户按下OK,则返回值是所选项的索引,如果用户按下Cancel,则返回值是-1。
这第二个简单类型的对话框是wx.TextEntryDialog,它被用于从用户那里得到短的文本输入。它通常用在在程序的开始时要求用户名或密码的时候,或作为一个数据输入表单的基本替代物。图9.3显示了一个典型的文本对话框。
图9.3
例9.3显示了产生图9.3的代码
例9.3
import
if
在前一小节,我们创建了一个对话框类的实例,在这里,我们要用到的对话框类是wx.TextEntryDialog。该类的构造函数比简单消息对话框要复杂一些:
wx.TextEntryDialog(parent,
message参数是显示在对话框中的文本提示,而caption显示在标题栏中。defaultValue显示在文本框中的默认值。style可以包括wx.OK和wx.CANCEL,它显示适当的按钮。
几个wx.TextCtrl的样式也可以用在这里。最有用的应该是wx.TE_PASSWORD,它掩饰所输入的真实密码。你也可以使用wx.TE_MULTILINE来使用户能够在对话框中输入多行文本,也可以使用wx.TE_LEFT,
例9.3的最后显示了在文本框和对话框之间的另一区别。用户所输入的信息被存储在该对话框实例中,并且以后必须应用程序获取。在这种情况下,你可以使用对话框的GetValue()方法来得到该值。记住,如果用户按下Cancel(取消)去退出该对话框,这意味他们不想去使用他所键入的值。你也可以在程序中使用SetValue()方法来设置该值。
下面这些是使用文本对话框的便利函数:
1、wx.GetTextFromUser()
2、wx.GetPasswordFromUser()
3、wx.GetNumberFromUser()
其中和例9.3的用处最近似的是wx.GetTextFromUser():
wx.GetTextFromUser(message,
这里的message,
如果你希望用户输入密码,你可以使用wx.GetPasswordFromUser()函数:
wx.GetPasswordFromUser(message,
这里的参数意义和前面的一样。用户的输入被显示为星号,如果用户按下OK,该函数的返回值是用户所输入的字符串。如果用户按下Cancel,该函数返回空字符串。
最后,你可以使用wx.GetNumberFromUser()要求用户输入一个数字:
wx.GetNumberFromUser(message,
这里的参数的意义有一点不同,message是显在prompt上部的任意长度的消息,value参数是默认显示在文本框中的长整型值。min和max参数为用户的输入限定一个范围。如果用户按下OK按钮退出的话,该方法返回所输入的值,并转换为长整型。如果这个值不能转换为一个数字,或不在指定的范围内,那么该函数返回-1,这意味如果你将该函数用于负数的范围的话,你可能要考虑一个转换的方法。
9.1.4
如果给你的用户一个空的文本输入域显得太自由了,那么你可以使用wx.SingleChoiceDialog来让他们在一组选项中作单一的选择。图9.4显示了一个例子。
图9.4
例9.4显示了产生图9.4的代码
例9.4
import
if
wx.SingleChoiceDialog的构造函数如下所示:
wx.SingleChoiceDialog(parent,
message和caption参数的意义与前面的一样,分别显示在对话框和标题栏中。choices参数要求一个字符串的列表,它们是你呈现在对话框中的选项。style参数有三个项,这是默认的,分别是OK按钮、Cancle按钮和使对话框在屏幕中居中。centre选项和pos参数在Windows操作系统上不工作。
如果你想在用户看见对话框之前,设置它的默认选项,使用SetSelection(selection)方法。参数selection是选项的索引值,而非实际选择的字符串。在用户选择了一个选项后,你即可以使用GetSelection()——它返回所选项的索引值,也可以使用GetStringSelection()——它返回实际所选的字符串,来得到它。
有两个用于单选对话框的便利函数。第一个是wx.GetSingleChoice,它返回用户所选的字符串:
wx.GetSingleChoice(message,
参数message,
第二个是wx.GetSingleChoiceIndex:
wx.GetSingleChoiceIndex(message,
这个函数与第一个有相同的参数,但是返回值不同。如果用户按下OK,则返回值是所选项的索引,如果用户按下Cancel,则返回值是-1。
- wxPython in Action (TextEntryDialog
- wxPython:文本对话框TextEntryDialog
- wxPython in Action (MDIParentFrame
- wxPython in Action (MessageDialog)
- wxPython in Action (ProgressDialog)
- wxpython in action
- wxPython in Action (wx.Timer)
- wxPython in Action (wx.ListBox)
- wxPython in Action (multi-Thread)
- wxPython in Action (wx.ListBox)
- 一本讲WXPYTHON的好书Wxpython in Action
- wxpython in action 第一章划水【完结】
- wxpython in action 第二章划水
- wxpython in action 学习笔记1
- wxpython初学者(三) 之flexgirdsizer,TextEntryDialog,SingleChoiceDialog
- wxPython in Action (EVT_CLOSE)当关闭一个框架时都发生了什么?
- In Action
- In Action
- 关于Java中使用容器的几个注意点
- wx.Frame
- wxPython in Action (MDIParentFrame
- wxPython in Action (MessageDialog)
- 启动虚拟化支持后,网卡无法激活
- wxPython in Action (TextEntryDialog
- wxPython in Action (ProgressDialog)
- PyGridTableBase的方法
- wxPython in Action (wx.Timer)
- 使用WxPython进行Win32下Python编程
- wxPython in Action (wx.ListBox)
- Android 轻松实现语音识别
- wxPython in Action (multi-Thread)
- wxWidgets学习笔记