2013-06-21 2 views
0

Как указать size(350,450) с точки зрения процентов в wxpython?Как указать высоту и ширину в процентах по размеру() в wxpython

# -*- coding: utf-8 -*- 
# gotoclass.py 
import wx 

class Example(wx.Frame): 

    def __init__(self, parent, title): 
     super(Example, self).__init__(parent, title=title, 
      size=(390, 350)) 
     self.InitUI() 
     self.Centre() 
     self.Show()  

    def InitUI(self): 
     panel = wx.Panel(self) 

     font = wx.SystemSettings_GetFont(wx.SYS_SYSTEM_FONT) 
     font.SetPointSize(9) 

     vbox = wx.BoxSizer(wx.VERTICAL) 

     hbox1 = wx.BoxSizer(wx.HORIZONTAL) 
     st1 = wx.StaticText(panel, label='Class Name') 
     st1.SetFont(font) 
     hbox1.Add(st1, flag=wx.RIGHT, border=8) 
     tc = wx.TextCtrl(panel) 
     hbox1.Add(tc, proportion=1) 
     vbox.Add(hbox1, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=10) 

     vbox.Add((-1, 10)) 
     panel.SetSizer(vbox) 

if __name__ == '__main__': 
    app = wx.App() 
    Example(None, title='Go To Class') 
    app.MainLoop() 

ответ

0

Вы можете указать размер виджета в wxPython по размеру пикселя. См. http://wxpython.org/docs/api/wx.Size-class.html для получения дополнительной информации. Вы не можете передать проценты к нему. С другой стороны, вы можете сортировать проценты с виджетами внутри sizers, поскольку sizers поддерживают идею пропорции. Но я не думаю, что это то, чего вы действительно хотите.

1

Получить разрешение экрана с помощью wx.GetDisplaySize(). Вычислите процент в пикселях. Установите размер на self.SetSize() позже, а не в конструкторе, но до self.Show().