Найти - Пользователи
Полная версия: Стиль QMessageBox.information
Начало » GUI » Стиль QMessageBox.information
1
Pacifist
Всем привет.
Есть два окна. Во втором ввожу число и передаю его в первое.
Как сделать проверку (int or float) во втором окне класс Proba_win_2(QtWidgets.QDialog) сообразить не смог. Делаю ее в основном окне, но всплывающее окно QMessageBox.information принимает класс основного окна (салатовый фон).
Подскажите, пожалуйста, как сделать стиль всплывающего окна QMessageBox.information нейтральным (или задать самому). Спасибо!

 from PyQt5 import QtCore, QtGui, QtWidgets
import sys
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(661, 317)
        MainWindow.setStyleSheet("background-color: rgb(170, 170, 0);")
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(60, 70, 121, 31))
        self.pushButton.setStyleSheet("background-color: rgb(255, 85, 0);")
        self.pushButton.setObjectName("pushButton")
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(310, 80, 201, 31))
        self.label.setStyleSheet("background-color: rgb(0, 255, 255);")
        self.label.setText("")
        self.label.setObjectName("label")
        MainWindow.setCentralWidget(self.centralwidget)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)
        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.pushButton.setText(_translate("MainWindow", "Выбрать"))
class Ui_Dialog(object):
    def setupUi(self, Dialog):
        Dialog.setObjectName("Dialog")
        Dialog.resize(400, 300)
        self.buttonBox = QtWidgets.QDialogButtonBox(Dialog)
        self.buttonBox.setGeometry(QtCore.QRect(30, 240, 341, 32))
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok)
        self.buttonBox.setObjectName("buttonBox")
        self.lineEdit = QtWidgets.QLineEdit(Dialog)
        self.lineEdit.setGeometry(QtCore.QRect(50, 30, 161, 31))
        self.lineEdit.setObjectName("lineEdit")
        self.retranslateUi(Dialog)
        self.buttonBox.accepted.connect(Dialog.accept)
        self.buttonBox.rejected.connect(Dialog.reject)
        QtCore.QMetaObject.connectSlotsByName(Dialog)
    def retranslateUi(self, Dialog):
        _translate = QtCore.QCoreApplication.translate
        Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
class Proba_osn_win(QtWidgets.QMainWindow):
    def __init__(self):
        super(Proba_osn_win, self).__init__()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        self.ui.pushButton.clicked.connect(self.win_2_otkr)
    def win_2_otkr(self):
        self.application = Proba_win_2()
        result = self.application.exec()
        if result == QtWidgets.QDialog.Accepted:
            if self.application.znach.isdigit():
                self.ui.label.setText(self.application.znach)
            elif self.application.znach.count('.') == 1 and self.application.znach.replace('.', '').isdigit():
                self.ui.label.setText(str(float(self.application.znach) * 2))
            else:
                QtWidgets.QMessageBox.information(self, "ВНИМАНИЕ!", 'Вы ввели недопустимое значение!')
class Proba_win_2(QtWidgets.QDialog):
    def __init__(self):
        super(Proba_win_2, self).__init__()
        self.ui = Ui_Dialog()
        self.ui.setupUi(self)
        self.ui.lineEdit.textChanged[str].connect(self.vyb)
        self.ui.buttonBox.clicked.connect(self.accept)
    def vyb(self, item):
        self.znach = item
app = QtWidgets.QApplication([])
application = Proba_osn_win()
application.show()
sys.exit(app.exec())
rami
В классе Ui_MainWindow поправьте:
         MainWindow.setStyleSheet("QMainWindow{background-color: rgb(170, 170, 0);}")
QMessageBox.information станет обычным.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB