Created
October 25, 2017 17:20
-
-
Save eyllanesc/5384f0a3891f9666ba63f6a32a8762ee to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from PyQt5 import QtWidgets | |
from testCloseEventDialog import TestDialog | |
from testCloseEventMain import TestMain | |
class newDialog(QtWidgets.QDialog, TestDialog): | |
def __init__(self, *args, **kwargs): | |
QtWidgets.QDialog.__init__(self, *args, **kwargs) | |
self.setupUi(self) | |
self.btnClose.clicked.connect(self.exitWindow) | |
def exitWindow(self): | |
print("close button pressed in test dialog window") | |
self.close() | |
def closeEvent(self, event): | |
print("executing close event in test dialog window") | |
QtWidgets.QDialog.closeEvent(self, event) | |
class newMain(QtWidgets.QMainWindow, TestMain): | |
def __init__(self, *args, **kwargs): | |
QtWidgets.QMainWindow.__init__(self, *args, **kwargs) | |
self.setupUi(self) | |
self.btnOpenDialog.clicked.connect(self.openDialog) | |
self.btnClose.clicked.connect(self.closeBtnPushed) | |
self.popNewDialog = newDialog() | |
def openDialog(self): | |
self.popNewDialog.show() | |
def closeBtnPushed(self): | |
print("close button pressed in main window") | |
self.close() | |
def closeEvent(self, event): | |
self.popNewDialog.close() | |
print("executing closing event in main window") | |
QtWidgets.QMainWindow.closeEvent(self, event) | |
if __name__ == "__main__": | |
import sys | |
app = QtWidgets.QApplication(sys.argv) | |
w = newMain() | |
w.show() | |
sys.exit(app.exec_()) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from PyQt5 import QtCore, QtGui, QtWidgets | |
class TestDialog(object): | |
def setupUi(self, DialogTest): | |
DialogTest.resize(200, 100) | |
DialogTest.setWindowTitle("DialogTest") | |
self.btnClose = QtWidgets.QPushButton() | |
self.btnClose.setText("Close") | |
self.verticalLayout = QtWidgets.QVBoxLayout(DialogTest) | |
self.verticalLayout.addWidget(self.btnClose) | |
QtCore.QMetaObject.connectSlotsByName(DialogTest) | |
if __name__ == "__main__": | |
import sys | |
app = QtWidgets.QApplication(sys.argv) | |
DialogTest = QtWidgets.QWidget() | |
ui = TestDialog() | |
ui.setupUi(DialogTest) | |
DialogTest.show() | |
sys.exit(app.exec_()) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from PyQt5 import QtCore, QtGui, QtWidgets | |
class TestMain(object): | |
def setupUi(self, MainWindow): | |
MainWindow.setObjectName("MainWindow") | |
MainWindow.resize(300, 100) | |
self.centralwidget = QtWidgets.QWidget(MainWindow) | |
self.btnOpenDialog = QtWidgets.QPushButton() | |
self.btnClose = QtWidgets.QPushButton() | |
self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget) | |
self.verticalLayout.addWidget(self.btnOpenDialog) | |
self.verticalLayout.addWidget(self.btnClose) | |
MainWindow.setCentralWidget(self.centralwidget) | |
self.retranslateUi(MainWindow) | |
QtCore.QMetaObject.connectSlotsByName(MainWindow) | |
def retranslateUi(self, MainWindow): | |
_translate = QtCore.QCoreApplication.translate | |
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) | |
self.btnOpenDialog.setText(_translate("MainWindow", "Open Dialog")) | |
self.btnClose.setText(_translate("MainWindow", "Close")) | |
if __name__ == "__main__": | |
import sys | |
app = QtWidgets.QApplication(sys.argv) | |
MainWindow = QtWidgets.QMainWindow() | |
ui = TestMain() | |
ui.setupUi(MainWindow) | |
MainWindow.show() | |
sys.exit(app.exec_()) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment