2

下面是我的 pythoncard 应用程序的基类:

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 应用程序中设置组件的大小?

4

1 回答 1

0

为什么是 80,21?您告诉它制作项目 732,220,这就是它所做的。

或者还有什么你没有告诉我们的?

于 2009-10-23T15:55:26.990 回答