def ea_warning(text, additional_buttons=[], title="EA Warning"): global warning global form global buttons warning = QtWidgets.QFrame() form = Warning_UI() form.setupUi(warning) form.label.setText(text) form.pushButton.clicked.connect(warning.close) for button, handler in additional_buttons: setattr(form, button, QtWidgets.QPushButton(warning)) getattr(form, button).clicked.connect(handler) getattr(form, button).setText(QtWidgets.QApplication.translate("Dialog", button, None)) form.horizontalLayout.addWidget(getattr(form, button)) warning.setWindowFlags(warning.windowFlags() | QtCore.Qt.WindowStaysOnTopHint) warning.setWindowTitle(QtWidgets.QApplication.translate("Dialog", title, None)) warning.show()
def ea_warning(text, buttons=(("OK", None, True), ), checkboxes=[], title="EA Warning"): global warning global form warning = QtWidgets.QFrame() form = Warning_UI() form.setupUi(warning) form.label.setText(text) for button, handler, close_on_click in buttons: setattr(form, button, QtWidgets.QPushButton(warning)) getattr(form, button).clicked.connect(handler if handler else warning.close) getattr(form, button).setText( QtWidgets.QApplication.translate("Dialog", button, None)) if close_on_click: getattr(form, button).clicked.connect(warning.close) form.horizontalLayout.addWidget(getattr(form, button)) for checkbox, handler, checked in checkboxes: setattr(form, checkbox, QtWidgets.QCheckBox(warning)) getattr(form, checkbox).stateChanged.connect(handler) getattr(form, checkbox).setText( QtWidgets.QApplication.translate("Dialog", checkbox, None)) getattr(form, checkbox).setChecked(checked) form.horizontalLayout_2.addWidget(getattr(form, checkbox)) warning.setWindowFlags(warning.windowFlags() | QtCore.Qt.WindowStaysOnTopHint) warning.setWindowTitle( QtWidgets.QApplication.translate("Dialog", title, None)) warning.show()