Как в pyqt5, при нажатии кнопки в программе с двумя окнами, закрыть только одно окно?
При открытии второго окна, нужно чтобы кнопка "Отмена" закрывала только второе окно.
from PyQt5 import QtCore, QtGui, QtWidgets from Settings import Ui_Settings
class Ui_Recovery(object): def openWindow(self): self.window = QtWidgets.QMainWindow() self.ui = Ui_Settings() self.ui.setupUi(self.window) self.window.show()
def setupUi(self, Recovery):
Recovery.setObjectName("Recovery")
Recovery.resize(1022, 600)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("../../Users/spank/Desktop/app.ico"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
Recovery.setWindowIcon(icon)
self.centralwidget = QtWidgets.QWidget(Recovery)
self.centralwidget.setObjectName("centralwidget")
self.btnStart = QtWidgets.QPushButton(self.centralwidget)
self.btnStart.setGeometry(QtCore.QRect(699, 220, 141, 41))
font = QtGui.QFont()
font.setFamily("Arial")
font.setPointSize(12)
self.btnStart.setFont(font)
self.btnStart.setDefault(True)
self.btnStart.setObjectName("btnStart")
self.btnClear = QtWidgets.QPushButton(self.centralwidget)
self.btnClear.setGeometry(QtCore.QRect(220, 220, 141, 41))
font = QtGui.QFont()
font.setFamily("Arial")
font.setPointSize(12)
self.btnClear.setFont(font)
self.btnClear.setObjectName("btnClear")
Recovery.setCentralWidget(self.centralwidget)
self.retranslateUi(Recovery)
QtCore.QMetaObject.connectSlotsByName(Recovery)
def retranslateUi(self, Recovery):
_translate = QtCore.QCoreApplication.translate
Recovery.setWindowTitle(_translate("Recovery", "Восстановление"))
self.btnStart.setText(_translate("Recovery", "Параметры"))
self.btnStart.clicked.connect(self.openWindow)
self.btnClear.setText(_translate("Recovery", "Старт"))
if name == "main": import sys app = QtWidgets.QApplication(sys.argv) Recovery = QtWidgets.QMainWindow() ui = Ui_Recovery() ui.setupUi(Recovery) Recovery.show() sys.exit(app.exec_())