Ci-dessous est la classe de base de mon application PythonCard:article 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
qui utilise le fichier de ressources dont le contenu ci-dessous:
{'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'}]}]}
Sur la ligne que j'ai marqué avec un commentaire disant «ici» imprime (80, 21) (732, 220)
, que je m'attendais à être (80, 21) (80, 21)
. Comment puis-je définir la taille des composants dans une application pythoncard?
Je suis sûr que je vous ai tout dit et n'importe quoi cher monsieur, mais je ne m'en souviens pas beaucoup depuis 9 mois que je l'ai demandé. de toute façon, devinant de la question et puisque c'est moi, je pense que je m'attendais à voir (80, 21) (80, 21) en raison de la taille de (80,21) - qui est/était la valeur de retour de GetBestSize () - par item.SetSize (item.GetBestSize()) dans la ligne précédente. Puis j'ai rencontré un autre problème avec pythoncard, si je me souviens bien, il était lié à des barres de défilement, et cela m'a fait abandonner et réécrire l'application avec wxpython à partir de zéro. – hinoglu