2014-02-14 5 views
1

Скажем, у меня есть простое приложение, такие как:Как я могу unmaximize программно максимизированный кадр в wxPython?

import wx 

app = wx.App() 

frame = wx.Frame(None, -1, 'This is the frame title') 
frame.Show() 
frame.Maximize()  

app.MainLoop() 

Есть ли способ, я могу позвонить на станину в ун-максимизировать его? Я пробовал frame.Unmaximize() и frame.Maximize(False), но первый - undefined, в то время как последний, кажется, «терпит неудачу» в Ubuntu.

Here В нем говорится, что Maximize(False) - это путь. Есть ли ошибка, которую я должен отправить, или есть что-то еще, что я пропустил здесь?

+1

FYI Frame.Maximize (False) работает на OSX и Win7 с python 2.7.x и wxpython 3.0.0 – GreenAsJade

+1

Благодарим вас за ответы. Я буду играть с ним еще несколько сегодня (просто чтобы убедиться), и тогда я, вероятно, отправлю ошибку ... – Asotos

ответ

1

Только что попробовал эту программу под OSX, Win7 и Ubuntu:

import wx 

app = wx.App() 

frame = wx.Frame(None, -1, 'This is the frame title') 
frame.Show() 
frame.Maximize() 
frame.Maximize(False) 

app.MainLoop() 

На OSX и Win7 кадр заметно увеличивает затем сводит к минимуму.

В Ubuntu (wxpython 2.8.11 gtk-unicode) команды Maximize полностью игнорируются. Я могу удалить строку Maximize (False), и кадр все еще не максимизирован.

Это с xfwm4 на Ubuntu 11,10

выглядит как ошибка для меня. Но это может быть и причудливый диспетчер окон.


Удовлетворительно, google находит сообщение об ошибке, в котором Frame.Maximize() работает только с окнами. Но ему 11 лет. Возможно, Linux еще не добавлен :)

1

Вы также можете попробовать Restore(). В то время как в MSW и OS X это точно так же, как Maximize(false), в wxGTK реализовано несколько иначе, так что, возможно, это работает даже под Ubuntu.

+0

Спасибо! Я дал ему выстрел, но все равно ничего ... – Asotos

+0

Тогда это еще один разрыв Ubuntu от стандартного GTK + API :-(К сожалению, мы мало что можем сделать, если ОС намеренно предотвращает использование API, который мы используем, мы (и наши пользователи) можем сделать это, чтобы жаловаться на них об этом - но это совершенно бесполезно в случае Ubuntu ... –

Смежные вопросы