2013-06-21 87 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()之前。

相关问题