MessageBox、Dialog 和 PopUp 的区别

Differences between MessageBox, Dialog and PopUp

我正在为自助服务终端制作循环全屏向导,我希望根据服务中的错误或 Yes/No 警报显示自定义 messageboxes/dialogs/popups。

我已经有了一个使用 wx.PopUp 和 wx.PopUpTransient 类 的工作原型,但现在我想自定义这些 windows(具有自适应 [=32 的位图边框=] 根据文本长度和选定的边距调整大小)。 测试 运行 没有用,现在我读到 wx.Dialog 和 wx.MessageBox 类 在那些情况下是 "useful"。

它们有什么区别?

他们的子类 与油漆程序有关的子http://wiki.wxpython.org/CreatingCustomControls 中处理的子

相似

对于我得到的结果,我应该使用 wx.Dialog sub类 请求用户输入,并使用 MessageBox 向用户传递信息(或创建一个对话框的轻量级版本);那么 PopUp 可能是 MessageBox 的预定义快速版本。

MessageDialog is just a simple way to ask the user simple questions. I believe the MessageBox class actually can let you get some input. There's also a GenericMessageDialog 很有用,因为它有一些额外的功能,而且它是用纯 Python 编写的。

wx.Dialog 是终极的,因为它是基础 class,您可以使用它构建任何类型的对话。为了获得最大程度的控制,您绝对应该使用它。

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

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