wxWidgets 对话框没有最大化框

发布于 2024-12-22 15:31:47 字数 1022 浏览 0 评论 0原文

我有一个 wxPython(通过 wxGlade)应用程序,其对话框的样式中设置了 wx.MAXIMIZE_BOX,但是当我运行该应用程序时,最大化框没有出现。

这是一个展示该行为的最小程序:

#!/usr/bin/env python

import wx

class MyDialog(wx.Dialog):
    def __init__(self, *args, **kwds):
        kwds["style"] = wx.DEFAULT_DIALOG_STYLE|wx.MAXIMIZE_BOX
        wx.Dialog.__init__(self, *args, **kwds)
        self.SetTitle("dialog_1")
        self.Layout()

if __name__ == "__main__":
    app = wx.PySimpleApp(0)
    wx.InitAllImageHandlers()
    dialog_1 = MyDialog(None, -1, "")
    app.SetTopWindow(dialog_1)
    dialog_1.Show()
    app.MainLoop()

请注意,设置了 wx.MAXIMIZE_BOX,但是当我运行该程序时,对话框上没有出现最大化框:

屏幕截图 -- 未显示最大化框

这是窗口管理器问题吗?

我可以做些什么来使最大化框显示出来吗? (我的真实对话框有一堆来自日志文件的滚动文本,单击最大化比手动调整大小以填充屏幕更容易。)

我正在使用:

  • Linux (Ubuntu 10.04 LTS)
  • python-wxgtk、libwxgtk2.8 -0,libwxbase2.8-0:2.8.10.1-0ubuntu1.2
  • 元城市: 1:2.30.1-0ubuntu1.1

I've got a wxPython (via wxGlade) app with a dialog that has wx.MAXIMIZE_BOX set in the style, but the maximize box doesn't appear when I run the app.

Here's a minimal program that exhibits the behavior:

#!/usr/bin/env python

import wx

class MyDialog(wx.Dialog):
    def __init__(self, *args, **kwds):
        kwds["style"] = wx.DEFAULT_DIALOG_STYLE|wx.MAXIMIZE_BOX
        wx.Dialog.__init__(self, *args, **kwds)
        self.SetTitle("dialog_1")
        self.Layout()

if __name__ == "__main__":
    app = wx.PySimpleApp(0)
    wx.InitAllImageHandlers()
    dialog_1 = MyDialog(None, -1, "")
    app.SetTopWindow(dialog_1)
    dialog_1.Show()
    app.MainLoop()

Note that wx.MAXIMIZE_BOX is set, but when I run this program I don't get a maximize box on the dialog:

screenshot -- no maximize box shown

Is this a window manager issue?

Is there something I can do to make the maximize box show up? (My real dialog has a bunch of scrolled text from a log file and it's easier to click maximize than it is to manually resize to fill the screen.)

I'm using:

  • Linux (Ubuntu 10.04 LTS)
  • python-wxgtk, libwxgtk2.8-0, libwxbase2.8-0: 2.8.10.1-0ubuntu1.2
  • metacity: 1:2.30.1-0ubuntu1.1

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

家住魔仙堡 2024-12-29 15:31:47

我在 wxWidgets 文档中发现了这一点:

“在 Unix 或 Linux 下,MWM(Motif 窗口管理器)或其他识别 MHM 提示的窗口管理器应该运行,以使任何这些样式(包括 wxMAXIMIZE_BOX )产生效果。”

所以听起来这很可能是一个窗口管理器问题。

I found this in the wxWidgets docs:

"Under Unix or Linux, MWM (the Motif Window Manager) or other window managers recognizing the MHM hints should be running for any of these styles ( including wxMAXIMIZE_BOX ) to have an effect."

So it sounds like it might well be a window manager issue.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文