Нажав QPushButton в окне QDialog, я хочу открыть новое окно QWidget. Мой код:Python PyQt4 открыт из QDialog нового окна QWidget
from PyQt4 import QtGui
import sys
class MainWindow(QtGui.QWidget):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.setWindowTitle("Main Window")
class FirstWindow(QtGui.QDialog):
def __init__(self, parent=None):
super(FirstWindow, self).__init__(parent)
self.createWindow()
def createWindow(self):
btn = QtGui.QPushButton('Open New Window', self)
btn.move(10, 10)
self.openNewWindow = MainWindow(self)
btn.clicked.connect(self.openMainWin)
self.setGeometry(250,250, 150,50)
self.setWindowTitle("First Window")
self.show()
def openMainWin(self):
self.openNewWindow.show()
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
firstwin = FirstWindow()
sys.exit(app.exec_())
Когда я запустить код, ничего не происходит при нажатии кнопки.
Но когда я изменить класс от class MainWindow(QtGui.QWidget)
к class MainWindow(QtGui.QDialog)
или class MainWindow(QtGui.QMainWindow)
это работает!
Что я делаю неправильно ?! Пожалуйста, помогите мне.