import sys
from PySide2.QtCore import QFile
from PySide2.QtWidgets import QApplication, QMainWindow
from PySide2.QtUiTools import QUiLoader
class MyMainWindow(QMainWindow):
def __init__(self):
super().__init__()
loader = QUiLoader()
self.ui = loader.load("mainWindow.ui", self)
self.ui.pushButton_call_dialog.clicked.connect(self.call_dialog)
self.ui.close()
self.ui.show()
def call_dialog(self):
loader = QUiLoader()
self.dialog = loader.load("dialog.ui")
self.dialog.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MyMainWindow()
window.show
sys.exit(app.exec_())
Привет всем, есть идеи, почему второе (диалоговое) окно закрывает все приложение? Конечно, это не сбой, так как я получаю сообщение:
Процесс завершен с кодом выхода 0
Спасибо за вашу помощь
window.show
? Если это вызов метода, то вы забыли скобки. - person German Lashevich   schedule 06.01.2019window.show
ничего не делает, удалите его и наблюдайте за тем же поведением, вместо этого, если вы используетеwindow.show()
, вы получите другой. - person eyllanesc   schedule 06.01.2019QUiLoader
, потому что использование простогоQMainWindow
восстанавливает ожидаемое поведение. - person ekhumoro   schedule 06.01.2019