Bonjour…
J’avoue que je ne comprend pas trop…
Si je ne touche pas au fichier généré et que je fais dans mon run.py
# -*- coding: utf-8 -*-
import wx
import wx.xrc
import genwx
app = wx.App()
fenetre=genwx.Fenetre(None)
fenetre.Show()
def clicsurlebouton(self, event):
print("Clicsurlebouton")
fenetre.clicsurlebouton = clicsurlebouton
print("avant MainLoop")
app.MainLoop()
print("apres MainLoop")
J’ai bien la fenêtre qui s’affiche avec
avant MainLoop"
Et quand je ferme l’appli une deuxième ligne
apres MainLoop
mais rien quand je clic… Comme si il exécutais son fameux
class Fenetre ( wx.Frame ):
# Le code de la création de fenêtre que je ne mêt pas ici
# Virtual event handlers, override them in your derived class
def clicsurlebouton( self, event ):
event.Skip()
Pour voir ou est le problème j’ai copier mon fichier genwx.py et j’ai fais ce fameux truc du gros bouton rouge “Dont-tuch” qu’on fini toujours par appuyer
(faut pas modifier le fichier normalement)
# -*- coding: utf-8 -*-
###########################################################################
## Python code generated with wxFormBuilder (version 4.2.1-0-g80c4cb6)
## http://www.wxformbuilder.org/
##
## PLEASE DO *NOT* EDIT THIS FILE!
###########################################################################
import wx
import wx.xrc
import gettext
_ = gettext.gettext
###########################################################################
## Class Fenetre
###########################################################################
class Fenetre ( wx.Frame ):
def __init__( self, parent ):
wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.Size( 500,300 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL )
self.SetSizeHints( wx.DefaultSize, wx.DefaultSize )
gSizer1 = wx.GridSizer( 0, 2, 0, 0 )
self.bouton = wx.Button( self, wx.ID_ANY, _(u"Afficher texte dans console"), wx.DefaultPosition, wx.DefaultSize, 0 )
gSizer1.Add( self.bouton, 0, wx.ALL, 5 )
self.SetSizer( gSizer1 )
self.Layout()
self.Centre( wx.BOTH )
# Connect Events
self.bouton.Bind( wx.EVT_BUTTON, self.clicsurlebouton )
def __del__( self ):
pass
# Virtual event handlers, override them in your derived class
def clicsurlebouton( self, event ):
print("Clicsurlebouton")
print("avant MainLoop")
app = wx.App()
Fenetre(None).Show()
app.MainLoop()
print("apres MainLoop")
Et la ca marche:
avant MainLoop
Clicsurlebouton
Clicsurlebouton
apres MainLoop
Du coup je comprend pas trop…
Sinon par curiosité j’ai regardé le fichier genwx.xrc que j’ai créé pour voir vu que ca semblais compatible avec wxglade, wxformbuilder et peut-être d’autre logiciels:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<resource xmlns="http://www.wxwidgets.org/wxxrc" version="2.5.3.0">
<object class="wxFrame" name="Fenetre">
<size>500,300</size>
<style>wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL</style>
<title></title>
<centered>1</centered>
<aui_managed>0</aui_managed>
<object class="wxButton" name="bouton">
<label>Afficher texte dans console</label>
<default>0</default>
<auth_needed>0</auth_needed>
<markup>0</markup>
<bitmap/>
</object>
</object>
</resource>
Je ne retrouve pas de “clicsurlebouton” la-dedans mais visiblement il semble q’avec un
import wx.xrc
je pourrais peut-être importer ce fameux fichier puis y assigner mes variables/fonctions/class dans mon ou mes autres codes (même si c’est assez contre intuitif vu qu’on a tendance a vouloir faire en python).
Je viens de voir pendans que j’écris une notif de nouveau message dans ce forum donc peut-être qu’en fait tu y a déja répondu 
EDIT Non c’est juste moi qui ai encore du mal avec le site
.