【问题标题】:wxpython wx.AboutBox single instancewxpython wx.AboutBox 单实例
【发布时间】:2011-07-09 19:41:38
【问题描述】:

我仍在学习有关 WxPython 的更多信息,但遇到了一个简单的问题。

我喜欢 wx.AboutBox 类,它管理如何向用户显示信用、许可和其他信息......我不期待从头开始构建自己的......虽然我可以。

这里的问题是,假设我单击了一个按钮,该按钮会显示一个 AboutBox...似乎如果您继续单击该确切按钮,则会显示同一个 AboutBox 的多个实例...您最终会在我看来,多个窗口看起来很尴尬。据我调查...没有办法调用 ShowModal() 函数,该函数允许您在 aboutbox 模板中获取关闭按钮的 ID 并进行一些处理以确保只有一个实例正在运行。

我想知道如何阻止此问题的发生...我想要一个 wx.AboutBox 实例,如果由于其性质/限制而无法使用此类,那么我将不得不考虑构建自己的作为最后的手段。

谢谢

【问题讨论】:

  • 您使用的是哪个操作系统?在 Windows 上,AboutBox 是模态的。但是,在 Linux 上,GTK 的底层 wx 绑定似乎存在问题。请参阅ubuntuforums.org/showthread.php?t=1559067的线程

标签: python wxpython


【解决方案1】:

创建自己的 AboutBox 对话框非常简单。这是一篇文章,展示了一种方法:http://www.blog.pythonlibrary.org/2008/06/11/wxpython-creating-an-about-box/ 或者您也可以使用 GenericMessageDialog。请参阅 wxPython 演示或http://www.blog.pythonlibrary.org/2010/07/10/the-dialogs-of-wxpython-part-2-of-2/

【讨论】:

    【解决方案2】:

    看来你还没有解决这个问题。在 wxPython 中,有一个名为“SingleInstanceChecker”的类。我想这就是你要找的。​​p>

    http://wxpython.org/Phoenix/docs/html/SingleInstanceChecker.html

    【讨论】:

      猜你喜欢
      • 2011-02-11
      • 2012-05-08
      • 2015-10-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多