RV2931
Messages postés185Date d'inscriptionsamedi 21 mai 2005StatutMembreDernière intervention16 juillet 2016
-
5 févr. 2008 à 15:10
RV2931
Messages postés185Date d'inscriptionsamedi 21 mai 2005StatutMembreDernière intervention16 juillet 2016
-
6 févr. 2008 à 21:07
Bonjour
J'ai récupéré un petit programme "Hello world" d'un tuto wxPython de développez.com que voici :
<hr size= "2" width="100%" /># !/usr/bin/python
# -*- coding: iso885915 -*-
import wx
class Bonjour(wx.Frame):
def __init__(self, titre): wx.Frame.__init__(self, None, 1,title titre, size (200, 100)) conteneur wx.Panel(self, 1,size self. GetClientSize() )
etiquette = wx.StaticText(conteneur, 1,"Bonjour tout le monde !",wx.ALIGN_CENTRE)
etiquette.CentreOnParent()
app = MonApp()
app.MainLoop()
<hr size="2" width="100%" />J'utilise SPE 0.8.3.c sous windows (python 2.3) et la version de wxPyhton est la 2.6.1.0
à l'execution, il bloque et me dit "Class Bonjour has non attribute GetClientSize"
Donc je comprend bien qu'il ne la trouve puisqu'elle ne semble déclarée dans le code, mais je trouve tout de même bizarre car j'ai copié le code de plusieur tutos et à chaque fois il y a ce genre d'erreur et je doute que les tutos soit bourrés de fautes pour un simple "hello world". Donc ma question :
Est-ce réellement normal qu'il ne trouve pas la fonction GetClientSize qui me paraît, à partir du nom en tout cas, être une fonction qui pourrait être intégrée à la classe wx.Frame puisque si j'ai bien compris, self correspond à une instance de type wx.frame dérivé ?? De plus ça me parait bizarre tout ça car comme je l'ai dit, je retrouve ce problème dans plusieurs tutos, et je ne vois pas pourquoi car se sont toujours des fonctions qui, si elle ne le sont pas, devraient être intégrées dans les classes de bases de wxWidget.
Bref je ne comprend pas trop, si quelqu'un peut m'aider ?? j'ai pensé éventuellement à un problème de version de wxWidget (méthodes obsolètes, ou pas encore apparue en version 2.6.1.0,...)
Merci
RV
L'intelligence est la chose la mieux répartie chez l'homme, car quoi qu'il en soit pourvu, il a toujours l'impression d'en avoir assez. "Descartes"
RV2931
Messages postés185Date d'inscriptionsamedi 21 mai 2005StatutMembreDernière intervention16 juillet 2016 5 févr. 2008 à 15:34
Je confirme self fait référence à wx.Frame qui est une classe elle-même héritée de wx.Window qui contient la fonction wxWindow::GetClientSize, donc pourquoi dans mon cas, le compilo ne fait pas le lien. Self, n'est-il pas reconnu comme étant de type wx.Frame ??? erreur de syntaxe....
L'intelligence est la chose la mieux répartie chez l'homme, car quoi qu'il en soit pourvu, il a toujours l'impression d'en avoir assez. "Descartes"