wxPython in Action (TextEntryDialog

wxPython实战手册:从基础到高级GUI应用开发 Python是一种广泛使用的高级编程语言,以其代码可读性强和简洁著称。它支持多种编程范式,包括面向对象、命令式、函数式和过程式编程。Python广泛应用于数据分析、网络爬虫、机器学习、Web开发、自动化脚本编写等多个领域。wxPython提供了丰富多样的控件(Widgets),这些控件是构成用户界面的基础元素。在构建桌面应用程序时,熟练使用和理解这些控件是必不可少的。以下列出了一些常用的wxPython控件及其功能:wx.Button: 最基本的按钮控件,用于触发事件。 阅读详情
 9.1.3 如何从用户得到短的文本?

这第二个简单类型的对话框是wx.TextEntryDialog,它被用于从用户那里得到短的文本输入。它通常用在在程序的开始时要求用户名或密码的时候,或作为一个数据输入表单的基本替代物。图9.3显示了一个典型的文本对话框。

图9.3 文本输入标准对话框


例9.3显示了产生图9.3的代码

例9.3

import wx

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 显示一个选择列表对话框

import wx

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。

wxpython-in-action中文.pdf wxPython是一个Python包装wxWidgets(这是用 C++ 编写),一个流行的跨平台GUI工具包。由Robin Dunn以及Harri Pasanen开发,wxPython是作为一个Python扩展模块。 立即下载

相关推荐

wxpython in action中英文合集(两份)

#####由于过长只截取了部分######### #####由于过长只截取了部分######### 欢迎来到wxPython 19 1.1 开始wxPython 20 1.2 创建最小的空的wxPython程序 20 1.2.1 导入wxPython 21 1.2.2 使用应用程序和框架工作 22 子类化wxPython application类 23 定义一个应用程序的初始化方法 23 创建一个应用程序实例并进入它的主事件循环 23 1.3 扩展这个最小的空的wxPython程序 24 1.4 创建最终的hello.py程序 26 2、给你的wxPython程序一个稳固的基础 28 2.1 关于所要求的对象我们需要知道些什么? 28 2.2 如何创建和使用一个应用程序对象? 29 2.2.1 创建一个wx.App的子类 29 何时省略wx.App的子类 30 2.2.2 理解应用程序对象的生命周期 31 2.3 如何定向wxPython程序的输出? 31 2.3.1 重定向输出 32 2.3.2 修改默认的重定向行为 34 2.4 如何关闭wxPython应用程序? 34 2.4.1 管理正常的关闭 35 2.4.2 管理紧急关闭 35 2.5 如何创建和使用顶级窗口对象? 36 2.5.1 使用wx.Frame 36 2 / 565 2.5.2 使用wxPython的ID 37 明确地选择ID号 38 使用全局性的NewID()函数 38 2.5.3 使用wx.Size和wx.Point 38 2.5.4 使用wx.Frame的样式 39 2.6 如何为一个框架增加对象和子窗口? 41 2.6.1 给框架增加窗口部件 42 2.6.2 给框架增加菜单栏、工具栏和状态栏。 44 2.7 如何使用一般的对话框? 45 消息对话框 46 文本输入对话框 47 从一个列表中选择 47 2.8 一些最常见的错误现象及解决方法? 48 2.9 总结 49 3、在事件驱动环境中工作 51 3.1 要理解事件,我们需要知道哪些术语? 51 3.2 什么是事件驱动编程? 52 3.2.1 编写事件处理器 54 3.2.2 设计事件驱动程序 55 3.2.3 事件触发 55 3.3 如何将事件绑定到处理器? 56 3.3.1 使用wx.EvtHandler的方法工作 57 3.4 wxPython是如何处理事件的? 61 3.4.1 理解事件处理过程 62 第一步,创建事件 64 第二步,确定事件对象是否被允许处理事件。 64 第三步 定位绑定器对象 65 3 / 565 第四步 决定是否继续处理 66 第五步 决定是否展开 67 3.4.2 使用Skip()方法 68 3.5 在应用程序对象中还包含哪些其它的属性? 70 3.6 如何创建自己的事件? 71 3.6.1 为一个定制的窗口部件定义一个定制的事件。 71 创建自定义事件的步骤: 71 3.7 总结 75 4、用PyCrust使得wxPython更易处理 76 4.1 如何与wxPython程序交互? 76 PyCrust配置了标准的Python shell 77 4.2 PyCrust的有用特性是什么? 79 4.2.1 自动完成 80 4.2.2 调用提示和参数默认 80 4.2.3 语法高亮 81 4.2.4 Python 帮助 81 . . . . . .

读书笔记-《wxPython in Action》一

这本书讲的如何应用wxPhython模块。这个模块是python中比较有名的GUI模块。 一,欢迎来到wxPhython 要想用好这个模块就要明白这个模块核心是一个wx.App的类,一个是wx.Frame的类。 基础的应用构架如下 # -*- coding: utf-8 -*- #!/usr/bin/env python #1 """Spare.py is a starting point for a wxPython program.""" #2 import wx class Frame(wx.Fram

Viccj的专栏 500

wxPython_in_action中文版(chm)及其源码

wxPython_in_action的中文版(chm)及其源码

wxPython:文本对话框TextEntryDialog

本节看看单行文本对话框的使用,先看函数原型: wxTextEntryDialog(wxWindow* parent, const wxString& message, const wxString& caption = "Please enter text", constwxString& defaultValue = "", long style = wxOK | wxCANC

Socrates的专栏 5205

wxPython in Action.pdf

关于python开发GUI的一个主流库的学习.

wxPython in Action译文中文.pdf

如果你是wxPython初学者,你一定会想从第一部分开始。第一章至第三章帮助您夯实 wxPython相关概念的坚实基础。第六章则对构建合理大小程序的步骤进行了完整回顾。第五章介绍如何让代码更易于管理的方法,第四章提供了一些协助进 行调试、编写wxPython应用的工具。当你开始编写自己的 wxPython程序时,你就已经开始使用第二部分讨论的API了——我们试图按照功能进行组织章节内容,以方便您查找有用的主题。

如何从用户得到短的文本?

 这第二个简单类型的对话框是wx.TextEntryDialog,它被用于从用户那里得到短的文本输入。它通常用在在程序的开始时要求用户名或密码的时候,或作为一个数据输入表单的基本替代物。图9.3显示了一个典型的文本对话框。图9.3 文本输入标准对话框例9.3显示了产生图9.3的代码例9.3import wxif __name__ == "__main__":    app = wx.PySimpl

wxpython 917

wxPython in Action:GUI开发的利器

本书《wxPython in Action》由诺埃尔·拉平和罗宾·邓恩撰写,是一本为初学者和专业人员准备的资源。它详细介绍了wxPython这一强大的工具包,该工具包为GUI应用程序开发带来了极大的便利。书中不仅涵盖了wxPython的基础概念,还深入探讨了高级特性,如网格控件、树形控件、HTML集成和打印框架等。此外,书中提供了大量实用的代码示例和最佳实践,帮助读者快速上手并掌握wxPython。通过本书,读者不仅可以学会如何创建美观且功能丰富的GUI应用程序,还能深入了解wxPython背后的原理和技术。

wxPython in Action(七十六)

9.1.3 如何从用户得到短的文本?这第二个简单类型的对话框是wx.TextEntryDialog,它被用于从用户那里得到短的文本输入。它通常用在在程序的开始时要求用户名或密码的时候,或作为一个数据输入表单的基本替代物。图9.3显示了一个典型的文本对话框。图9.3 文本输入标准对话框例9.3显示了产生图9.3的代码例9.3import wxif __name__ == "__main__":   

270

群晖NAS断电后IP变了?3步搞定静态IP设置(附Linux挂载指南)

本文针对群晖NAS因断电重启导致IP地址变化的问题,提供了从根源到实践的完整解决方案。核心内容包括如何为NAS配置静态IP以彻底解决连接中断,并详细讲解了在Linux系统中通过NFS协议稳定挂载NAS共享文件夹的步骤与指南,确保网络存储服务持久可靠。

weixin_29271263的博客 851

QOpenGL入门教程(二)—— 第一个QOpenGLWidget程序

终于到了实际操作的环节了,这一章我们要做的是: 创建OpenGL窗口 创建并编写着色器程序 为着色器程序装配顶点数据 启动渲染管线进行绘图 第一步:创建新项目 首先,我们使用Qt创建一个常规的QWidget项目,建议不要勾选ui设计器(个人习惯,笔者不太习惯于使用ui来设计) 第二步:创建QOpenGLWidget并实现三个虚函数 QOpenGLWidget Qt5.4之前,Qt可以通过一个QGLWidget类来创建OpenGL窗口,但由于opengl的发展,在5.4版本的时候,Qt提供

ItaLink 1万+

wxPython in Action(九)

2.6 如何为一个框架增加对象和子窗口?我们已经说明了如何创建wx.Frame对象,但是创建后的是空的。本节我们将介绍在你的框架中插入对象与子窗口的基础,以便与用户交互。2.6.1 给框架增加窗口部件图2.8显示了一个定制的wx.Frame的子类,名为InsertFrame。当点击close按钮时,这个窗口将关闭且应用程序将退出。例2.3定义了子类InsertFrame。例2.3#!/usr/bi

365

C++语言程序设计教程第4版杨进才沈显君课后习题答案解析

为了更好地学习这门课程,我尝试在网上寻找一些学习资料和参考书籍,但效果并不是很理想。因此,我希望能有一些学长学姐或者是有经验的程序员能够分享一些学习经验和方法,让我更好地掌握这门课程。学习过程中,我发现这本书的内容非常丰富,讲解也非常详细,对于像我这样编程基础薄弱的学生来说,是一本非常实用的教材。同时,我也希望有经验的程序员能够推荐一些适合初学者的C++语言学习资料和工具,以便我能更好地学习和掌握这门课程。总之,希望能得到大家的帮助和支持,让我更好地学习和掌握C++语言程序设计。主 编: 杨进才,沈显君。

weixin_58833001的博客 1332

wxPython in Action(八十六)

9.6 本章小结1、对话框被用于在有一套特殊的信息需要被获取的情况下,处理与用户的交互,这种交 互通常很快被完成。在wxPython中,你可以使用通用的wx.Dialog类来创建你自己的对话框,或者你也可以使用预定义的对话框。大多数情况下, 通常被使用的对话框都有相应的便利函数,使得这种对话框的使用更容易。2、对话框可以显示为模式对话框,这意味在对话框可见时,该应用程 序中的用户所有的其它输入将被

296

ros_gz_bridge__镜像__readme

Run。

1113

人工智能智能体研究综述:从理论架构到前沿应用

AI Agent,即人工智能智能体,是指能够在特定环境中自主感知、推理、决策并执行行动以实现特定目标的智能系统[1]。自主性反应性主动性(Pro-activeness)和社会性fill:#333;important;important;fill:none;color:#333;color:#333;important;fill:none;fill:#333;height:1em;AI Agent核心特征自主性 Autonomy反应性 Reactivity主动性 Pro-activeness。

nmdbbzcl的博客 902

实战wxPython:022 - 输入对话框

在GUI程序中,常常需要一种简单的对话框来提供一个单行的信息输入来提供一些简短的文本输入,比如通常在程序开始的时候要求用户名或者密码的时候,或者作为一个数据输入框等。为此wxPython提供了一个简单类型的对话框类wx.TextEntryDialog可以快速方便地实现简短文本输入。根据密码输入要求,在wxPython在wx.TextEntryDialog之上导出类wx.PasswordEntryDialog来专门实现密码输入。 wx.NumberEntryDialog对话框则专门用于数字输入。

seniorwizard的专栏 2332

【Qt】解决 FTH: (11284): *** Fault tolerant heap shim applied to current process. (亲测有效)

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers。容错堆垫片应用到当前的过程。这通常是由于以前的崩溃。win + r,输入regedit。

Fanjufei的博客 830

wxpython 2.7 文本输入对话框 TextEntryDialog

#!/usr/bin/env python #-*-coding:UTF-8 -*- import wx if __name__=='__main__': app=wx.PySimpleApp() frame=wx.TextEntryDialog(None,"who is buried in Grant's tomb?", ...

小白夺植物战僵尸的博客 969

芒果YOLOv7改进48:主干篇:独家首发改进:目标检测新范式骨干PPHGNetv2改进版,充分融合信息特征,提升YOLOv7检测能力

YOLOv7代码改进实践 | 独家首发改进 PPHGNetv2 改进版结构

包括YOLOv5、YOLOv7、YOLOv8等模型改进 1847

人群仿真软件:Pathfinder_(14).与其他软件的集成与互操作

在人群仿真软件的二次开发中,与其他软件的集成和互操作是非常重要的。通过数据导入导出、接口调用和脚本编写,可以显著提升仿真的准确性和实用性。Pathfinder提供了多种数据格式的支持和丰富的API,使得与其他软件的集成变得简单高效。无论是建筑模型的导入、仿真结果的导出,还是实时数据的交换,Pathfinder都能满足用户的需求。

kkchenjj的博客 1015

wxpython in action_wxPython in Action (multi-Thread)--验证有效

http://www.programmershare.com/2059410/18.6 Creating a multithreaded wxPython applicationMost GUI applications, in the the application background long-term implementation of a process without interfer...

weixin_39636057的博客 203

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

wxpython-in-action.pdf

wxpython-in-action.pdf

boyfuxin的专栏 284

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

2.6 如何为一个框架增加对象和子窗口?[wxPython In Action]

2.6 如何为一个框架增加对象和子窗口?我们已经说明了如何创建wx.Frame对象,但是创建后的是空的。本节我们将介绍在你的框架中插入对象与子窗口的基础,以便与用户交互。2.6.1 给框架增加窗口部件图2.8显示了一个定制的wx.Frame的子类,名为InsertFrame。当点击close按钮时,这个窗口将关闭且应用程序将退出。例2.3定义了子类InsertFrame。例2.3#!/usr/bi...

weixin_30480075的博客 393

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

创建TextEntryDialog(输入对话框)

#!/usr/bin/env python # -*-encoding:utf-8 -*- 'Crteate TextEntryDialog' import wx class MyFrame(wx.Frame): #子类化框架对像 def __init__(self,parent,id): #定义子类构造器 wx.Frame.__init__(self,parent,

技术皮皮虾 4031

wxPython in Action (EVT_CLOSE)当关闭一个框架时都发生了什么?

当你关闭一个框架时,它最终消失了。除非这个框架被明确地告诉不关闭。换句话说,那关闭不是直接了当的。在wxPython的窗口部件关闭体系之后的用意是,给正在关闭的窗口部件充足的机会来关闭或释放它所占用任何非wxPython资源。如果你占用了某种昂贵的外部资源,如一个大的数据结构或一

embededvc的专栏 4538
上一篇: wxPython in Action (MessageDialog)
下一篇: wxPython in Action (ProgressDialog)
embededvc
博客等级 码龄21年 176粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值