2
下面是基類我pythoncard應用:Pythoncard項目的setSize
class MyBackground(model.Background):
def on_initialize(self, event):
# if you have any initialization
# including sizer setup, do it here
self.setLayout()
def setLayout(self):
sizer1 = wx.BoxSizer(wx.VERTICAL) # main sizer
for item in self.components.itervalues():
item.SetSize(item.GetBestSize())
print item.GetBestSize(),item.GetSize() # here
sizer1.Add(item, 0, wx.ALL, 10)
sizer1.Fit(self)
self.panel.SetSizer(sizer1)
self.panel.Layout()
self.visible = 1
它使用資源文件與以下內容:
{'application':{'type':'Application',
'name':'Template',
'backgrounds': [
{'type':'Background',
'name':'bgTemplate',
'title':u'Standard Template with no menus',
'size': (800, 600),
'statusBar':1,
'style':['wx.MINIMIZE_BOX', 'wx.CLOSE_BOX', 'wx.MAXIMIZE_BOX', 'wx.FRAME_SHAPED', 'wx.CAPTION',
'wx.DEFAULT_FRAME_STYLE', 'wx.FULL_REPAINT_ON_RESIZE', 'wx.HW_SCROLLBAR_AUTO'],
'components': [
{'backgroundColor': '&H00FFFFFF&',
'name': 'MinMax0',
'position': (1080, 9900),
'size': (732, 220),
'text': '10000',
'type': 'TextField'}]}]}
就行了,我已經標有評論說'這裏'打印(80, 21) (732, 220)
,我預計是(80, 21) (80, 21)
。我如何設置pythoncard應用程序中組件的大小?
我敢肯定,我已經告訴了你一切,親愛的先生,但是我不記得很多,因爲我已經問了9個月。無論如何,從這個問題猜測,因爲它是我,我想我期待看到(80,21)(80,21),因爲將大小設置爲(80,21) - 這是/是GetBestSize的返回值) - 通過item.SetSize(item.GetBestSize())在上一行。 然後我碰到pythoncard的另一個問題,如果我沒有記錯的話,它與scrollbars有關,這讓我放棄並用wxpython重寫應用程序。 – hinoglu 2009-10-24 01:38:31