Wxpython MessageBox、Dialog和PopUp之间的区别

Wxpython MessageBox、Dialog和PopUp之间的区别,wxpython,Wxpython,我正在为信息亭制作一个循环全屏向导,我希望根据服务中的错误或是/否警报显示自定义的消息框/对话框/弹出窗口 我已经有了一个使用wx.PopUp和wx.PopUpTransient类的工作原型,但现在我想定制这些窗口(位图边框,根据文本长度和选定边距自适应调整窗口大小)。 测试运行不起作用,现在我了解到还有wx.Dialog和wx.MessageBox类在这些情况下是“有用的” 他们之间有什么区别 及 它们与喷漆程序相关的子类与在中处理的子类相似 对于我得到的,我应该使用wx.Dialog子类来请

我正在为信息亭制作一个循环全屏向导,我希望根据服务中的错误或是/否警报显示自定义的消息框/对话框/弹出窗口

我已经有了一个使用wx.PopUp和wx.PopUpTransient类的工作原型,但现在我想定制这些窗口(位图边框,根据文本长度和选定边距自适应调整窗口大小)。 测试运行不起作用,现在我了解到还有wx.Dialog和wx.MessageBox类在这些情况下是“有用的”

他们之间有什么区别

它们与喷漆程序相关的子类与在中处理的子类相似

对于我得到的,我应该使用wx.Dialog子类来请求用户输入,并使用MessageBox向用户传递信息(或创建一个轻松版本的对话框);然后弹出窗口可以是一个预定义的、快速的、肮脏的MessageBox版本

这只是问用户简单问题的一种简单方式。我相信MessageBox类实际上可以让您获得一些输入。还有一个非常有用的,因为它有一些额外的特性,并且是用纯Python编写的

wx.Dialog
是终极版,因为它是一个基类,您可以使用它构建任何类型的对话框。为了最大限度地控制,你绝对应该这样做

弹出控件对于弹出消息很有用。我通常看到它们用于创建上下文菜单。根据您的需要,ToasterBox小部件可能对您有所帮助,因为它可以弹出一条消息,然后以一种有趣的方式消失

我建议您查看wxPython演示包。它有所有对话框的示例。以下链接也很有用:


以及他们的喷漆程序。我在代码中忘记了一行绑定我的绘制方法的
wx.EVT\u PAINT
事件。这就是它不起作用的原因。(现在绘制一个单色垃圾,但它绘制了一些东西)。