|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Invité de passage
![]() Étudiant Inscription : juillet 2012 Messages : 12 ![]() |
Bonjour tout le monde ! Depuis quelques jours, j'éprouve quelques problèmes quant au fonctionnement de mon code. J'ose espérer que vous avez la solution, ou quelque chose qui pourrait m'aider à la résolution du problème. Voici les codes en question :
main.py : Code :
Code :
Code :
|
||||||
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() ![]() Inscription : octobre 2008 Messages : 939 ![]() |
Salut,
Voici un exemple typique où import * participe à l'illisibilité du code, en tous cas à l'incompréhension du lecteur de passage. Il eut été préférable de : Code :
Il faut l'instancier pour l'utiliser. |
||
|
|
00
|
|
|
#3 | |||
|
Invité de passage
![]() Étudiant Inscription : juillet 2012 Messages : 12 ![]() |
Citation:
quelquechose = frmMain puis quelquechose.show() (Si j'ai bien compris ?) EDIT : Quoi qu'il en soit, ça ou pas, j'ai essayé ça ne marche pas non plus, l'erreur se fait au niveau du show dans |
|||
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() ![]() Inscription : octobre 2008 Messages : 939 ![]() |
À la réflexion, en regardant ton code:
Code :
.1 Pourquoi la classe frmMain doit-elle hériter de QWidget ? .2 Pourquoi frmMain.show() alors que ce devrait être frmMain.ui.show() ? Ça c'est pour commencer. |
||
|
|
00
|
|
|
#5 | ||||
|
Invité de passage
![]() Étudiant Inscription : juillet 2012 Messages : 12 ![]() |
Déjà je voulais tout de même te remercier pour tes réponses ^^
Bon reprenons : Oui ça sort bien de QtDesigner 1 : Parce qu'avec QtGui.QMainWindow c'est le même problème : J'oubliais de préciser globalui.py Code :
Code :
|
||||
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() ![]() Inscription : octobre 2008 Messages : 939 ![]() |
La présence du centralWidget semble confirmer ce que je dis, c'est à dire que Ui_frmMain() est une QMainWindow.
Donc, c'est bien sur l'ui que s'applique la méthode show(). Quelque chose comme ça: Code :
|
||
|
|
00
|
|
|
#7 | |||
|
Invité de passage
![]() Étudiant Inscription : juillet 2012 Messages : 12 ![]() |
Citation:
|
|||
|
|
00
|
|
|
#8 | ||||
|
Membre Expert
![]() ![]() Inscription : octobre 2008 Messages : 939 ![]() |
Je corrige mon post précédent.
Si Ui_frmMain() se présente comme ceci: Code :
Code :
|
||||
|
|
00
|
|
|
#9 | ||
|
Invité de passage
![]() Étudiant Inscription : juillet 2012 Messages : 12 ![]() |
Elle commence par ceci :
Code :
|
||
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() ![]() Inscription : octobre 2008 Messages : 939 ![]() |
Là c'est que tu as modifié MainWindow par frmMain dans le script produit par pyuic4, chose qu'il ne fallait pas faire.
Tu génères une confusion avec frmMain et l'instance de QMainWindow qui sont deux choses bien différentes. Remets MainWindow à la place de frmMain dans le script de l'interface et essayes mon dernier code. |
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Étudiant Inscription : juillet 2012 Messages : 12 ![]() |
Ouais j'ai modifié mais je ne sais toujours pas comment faire pour l'afficher depuis main.py
|
|
|
00
|
|
|
#12 | ||||||
|
Membre Expert
![]() ![]() Inscription : octobre 2008 Messages : 939 ![]() |
Comme tu as plusieurs fichiers semble-t-il pour une même chose, ton problème vient peut-être de là.
Un exemple basique: Ceci sort du Designer et de la moulinette pyuic4 Code :
Code :
Code :
Toi, tu as un tout premier code (qui ne possède qu'une fonction d"ailleurs) et qui instancie quelque chose qui instancie enfin l'interface. Si ce script ne sert qu'à ça, supprimes le, il est à l'origine de ta confusion. |
||||||
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Étudiant Inscription : juillet 2012 Messages : 12 ![]() |
Ouhlà je suis perdu >< Par « Fonctions inutile » tu parles bien de frmMain de « globalui.py » ?
J'en profite pour dire que l'application finale sera en multifenêtrage, donc que plusieurs fonctions vont fleurir dedans. Mais là je suis complètement paumé... J'ai passé presque 2 jours à essayer de résoudre ce problème, donc je ne dois pas être spécialement en forme non plus (j'avoue que je suis presque sur le point d'avoir envie de défenestrer mon ordinateur). Puis je débute un peu dans pyQt je n'ai pas trouvé de tutoriaux assez « clairs » pour me permettre de faire des applications en multifenêtrage... Et là je suis au même point qu'il y a deux jours : Qu'est ce que je fais ? Je suis désolé de te faire perdre du temps mais là je suis paumé |
|
|
00
|
|
|
#14 |
|
Membre Expert
![]() ![]() Inscription : octobre 2008 Messages : 939 ![]() |
Je pense que si tu simplifes ton application tu verras les choses plus clairement.
Combien de fichier as-tu, à quoi servent-ils ? Dans l'état actuel, je dirais un fichier main pour l'appli elle-même et un fichier pour l'interface. J'ai vu une instance de frmTrajets, mais je n'ai pas saisi à quoi cela servait. Quoiqu'il en soit, commence par construire ton appli avec ces deux fichiers dont je parle en te basant sur mon exemple, après ce sera plus simple. Le multifenêtrage je ne sais pas ce que ça veut dire, par contre. Avec Qt on a une main window et le reste ce sont des boîtes de dialogue. |
|
|
00
|
|
|
#15 |
|
Invité de passage
![]() Étudiant Inscription : juillet 2012 Messages : 12 ![]() |
Alors c'est vrai que présenté ainsi, le « multifenetrage » ce n'est pas très claire ^^
En fait, ce que je voulais dire, c'est tout simplement qu'il y aurait plusieurs boîtes de dialogue dans mon application. Tu fais bien de me dire pour les Dialogues d'ailleurs. Concernant frmTrajets, c'est la 2ème fenêtre justement, j'avais pas envie de complexifier la lecture pour que l'on puisse m'aider plus rapidement, donc j'ai estimé futile l'ajout des classes concernant frmTrajets. Et l'import qui reste fut un oubli de ma part ^^ Quoi qu'il en soit, je te remercie beaucoup, je garde ton exemple sous le coude, et je ferais tout ça à tête plus reposée tranquillement o/ |
|
|
00
|
|
|
#16 | ||
|
Invité de passage
![]() Étudiant Inscription : juillet 2012 Messages : 12 ![]() |
Alors là ... Je ne sais pas ce que vous vous pouvez diagnostiquer mais :
Code :
Celà générre une erreur sur la ligne print, cependant ... Attention : instance s'affiche ahaha .... C'est drôle... Comment j'ai trouvé ça ? Ça me soulait tellement que je me suis mis à faire n'importe quoi x) |
||
|
|
00
|
|
|
#17 |
|
Membre Expert
![]() ![]() Inscription : octobre 2008 Messages : 939 ![]() |
C'est normal que ça ne marche pas.
Dans ce script, appellons le main, tu crées une classe qui hérite de QMainWindow sans raison et qui instancie ta fenêtre principale qui elle devrait hériter directement de QMainWindow. Ce n'est pas du tout ainsi que je le montre dans mon exemple. Montres nous les entêtes des deux classes importées, la fenêtre principale et la boîte de dialogue. Ce que tu veux faire est beaucoup simple que ce que fais en réalité. |
|
|
00
|
|
|
#18 |
|
Invité de passage
![]() Étudiant Inscription : juillet 2012 Messages : 12 ![]() |
Bon j'efface tout ça pour dire que finalement ça marche (j'ai trouvé comment résoudre le problème).
Merci beaucoup encore une fois VinS et je met résolu du coup ^^ |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com