2013-06-21 64 views
0

如何在wxpython提及size(350,450)的百分比?如何提高高度和寬度的百分比大小()在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。你無法將百分比傳遞給它。另一方面,您可以使用sizer中的小部件進行百分比分類,因爲sizer支持比例的概念。但我不相信這是你真正想要的。

1

使用wx.GetDisplaySize()獲取屏幕分辨率。計算以像素爲單位的百分比。稍後將尺寸設置爲self.SetSize(),而不是在構造函數中但在self.Show()之前。

相關問題