wxWidgets 对话框没有最大化框
我有一个 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:
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我在 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.