Python PySide (Interne du c++ Objet Déjà Supprimé)
Récemment, j'ai décidé d'écrire ma première application en Python et PySide. Mais j'ai un problème et j'espère que vous les gars peut vous aider.
Python ne cesse de soulever des exceptions que la "Interne de l'Objet C++" est supprimé. De mon expérience limitée avec Python je me dis que mon objet est hors de portée et d'être supprimés par Python Garbage Collector.
Alors, comment pourrais-je aller sur la conception d'un multi-page de l'application en Python avec PySide. Et pour pouvoir conserver mon QWidgets afin que je puisse montrer à nouveau la page.
Merci pour votre temps.
Mise À Jour (Le Code)
instancing = None
def instance():
global instancing
if instancing == None:
instancing = WPZKernel()
return instancing
class WPZKernel:
win = None
mainscreen = None
def mainwindow(self):
if self.win == None:
self.win = GMKMainWindow(self)
return self.win
def main_panel(self):
if self.mainscreen == None:
self.mainscreen = GMKMainScreen(self.mainwindow())
return self.mainscreen
Je puis normalement accéder à la mainpanel en appelant le:
import kernel
kernel.instance().main_panel()
Donc je suis aller sur ce de la mauvaise façon?
OriginalL'auteur Johann du Toit | 2011-03-17
Vous devez vous connecter pour publier un commentaire.
Après quelques recherches et de se tirer les cheveux, j'ai trouvé la solution. J'ai été à l'affiche toutes les pages en les définissant comme la centrale widget, et lors de la lecture de la QMainWindow documentation j'ai trouvé que mon widget, fondamentalement, est supprimé par qt:
Afin de développer une Multi-application à une Page plutôt de prendre un coup d'oeil à QStackedWidget.
OriginalL'auteur Johann du Toit
Voir ici: PySide Pièges.
Non, n'importe quel objet Python va le faire, tant que l'objet n'est pas hors de portée.
Ok mais là où mon instance de l'objet hors de portée? Je suis de démarrer l'application en appelant le noyau.instance().bootstrap() et tous les autres widgets appel noyau.instance().mainwindow() si ils ont besoin de la mainwindow ou d'autres widgets.
Hmm... je viens seulement maintenant regardé le code, et il semble OK,
instancing
ne va pas hors de portée.Salut, aucune idée de ce que je fais mal?
OriginalL'auteur Janne Karila