Dans mon projet, j'ai créé deux mainwindow je veux appeler mainwindow2 de la mainwindow1 (qui en cours d'exécution). dans mainwindow1 je suis déjà utilisé l'app.exec_() (PyQt) et pour montrer maindow2 j'utilise le maindow2.show() dans l'événement click du bouton mais ne montre rienComment appeler une fenêtre principale à une autre fenêtre principale dans Qt (ou PyQt)
0
A
Répondre
6
Appeler mainwindow2.show() devrait travailler pour vous. Pourriez-vous donner un exemple plus complet de votre code? Il y a peut-être quelque chose qui ne va pas ailleurs.
EDIT: Code mis à jour pour afficher un exemple de masquage et d'affichage des fenêtres lors de l'ouverture et de la fermeture d'autres fenêtres.
from PyQt4.QtGui import QApplication, QMainWindow, QPushButton, \
QLabel, QVBoxLayout, QWidget
from PyQt4.QtCore import pyqtSignal
class MainWindow1(QMainWindow):
def __init__(self, parent=None):
QMainWindow.__init__(self, parent)
button = QPushButton('Test')
button.clicked.connect(self.newWindow)
label = QLabel('MainWindow1')
centralWidget = QWidget()
vbox = QVBoxLayout(centralWidget)
vbox.addWidget(label)
vbox.addWidget(button)
self.setCentralWidget(centralWidget)
def newWindow(self):
self.mainwindow2 = MainWindow2(self)
self.mainwindow2.closed.connect(self.show)
self.mainwindow2.show()
self.hide()
class MainWindow2(QMainWindow):
# QMainWindow doesn't have a closed signal, so we'll make one.
closed = pyqtSignal()
def __init__(self, parent=None):
QMainWindow.__init__(self, parent)
self.parent = parent
label = QLabel('MainWindow2', self)
def closeEvent(self, event):
self.closed.emit()
event.accept()
def startmain():
app = QApplication(sys.argv)
mainwindow1 = MainWindow1()
mainwindow1.show()
sys.exit(app.exec_())
if __name__ == "__main__":
import sys
startmain()
Questions connexes
- 1. Comment ajouter une table Sql à une fenêtre principale Pyqt
- 2. Impression de la fenêtre principale dans PyQt
- 3. Comment ajouter des boutons à une fenêtre principale dans Qt?
- 4. Fenêtre WPF dans une fenêtre principale
- 5. Qt: comment faire une ombre au widget fenêtre principale?
- 6. ouvrir un Ui_Form à partir d'une fenêtre principale dans PyQt
- 7. comment créer une vue de dossier dans pyqt dans la fenêtre principale
- 8. Comment fermer Fenêtre principale ou application de la fenêtre ShowDialog
- 9. Actualiser une fenêtre principale à partir d'une fenêtre contextuelle
- 10. C++ Win32: Attacher une fenêtre enfant à la fenêtre principale
- 11. Comment rapportez-vous une fenêtre principale?
- 12. appeler la fenêtre principale de la fenêtre pop-up
- 13. WPF. Comment cacher/afficher la fenêtre principale d'une autre fenêtre
- 14. Comment appeler fonction dans la fenêtre principale de iframe?
- 15. combobox voler le clavier de la fenêtre principale en pyqt
- 16. Fenêtre principale invisible
- 17. Comment afficher un widget dans une fenêtre principale
- 18. fenêtre de dialogue Modifier la fenêtre principale
- 19. Qt envoyer le signal à la fenêtre principale de l'application
- 20. Comment appeler javascript dans la fenêtre principale de iframe?
- 21. Comment faire un bouton dans la fenêtre principale ouvrir une fenêtre différente?
- 22. javascript fenêtre enfant redirection fenêtre principale
- 23. Afficher une fenêtre contextuelle avant l'exécution de la fenêtre principale
- 24. get fenêtre principale
- 25. ios accès fenêtre principale ou vue
- 26. Fenêtre de connexion à la fenêtre principale dans Prism (WPF)
- 27. Fenêtre d'affichage WPF avant la fenêtre principale
- 28. Comment obtenir une UIView principale (fenêtre?) Dans iOS?
- 29. comment charger une vue dans la fenêtre principale avec pyobjc?
- 30. Ouvrir une seconde fenêtre dans PyQt
merci gris finalement fait. mais je veux rendre window1 disable et window2 enable et quand window2 close puis window1 est devenu renommable –
J'ai changé le code de sorte que lorsque le second QMainWindow est montré le premier est caché. Lorsque le second QMainWindow est fermé, le premier sera à nouveau affiché. –
yeh enfin fait merci beaucoup Gary –