Mam aplikację wxPython (przez wxGlade) z oknem dialogowym wx.MAXIMIZE_BOX
ustawiony w stylu, ale okno maksymalizacji nie pojawia się po uruchomieniu aplikacji.
Oto minimalny program, który wykazuje zachowanie:
#!/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()
Zauważ, że wx.MAXIMIZE_BOX
jest ustawiony, ale po uruchomieniu tego programu nie pojawia się okno maksymalizacji w oknie dialogowym:
Czy to problem z menedżerem okien?
Czy mogę coś zrobić, aby zmaksymalizowaćpojawi się okno? (Moje prawdziwe okno dialogowe zawiera kilka przewijanych tekstów z pliku dziennika i łatwiej jest kliknąć opcję Maksymalizuj niż ręcznie zmienić rozmiar, aby wypełnić ekran.)
Używam:
- 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
Odpowiedzi:
2 dla odpowiedzi № 1Znalazłem to w dokumentach wxWidgets:
„W systemach Unix lub Linux, MWM (Menedżer okien Motif) lub inne menedżery okien rozpoznające wskazówki MHM powinny być uruchomione, aby dowolny z tych stylów (w tym wxMAXIMIZE_BOX) miał wpływ.”
Wygląda na to, że może to być problem z menedżerem okien.