问题:前台的PyQt5 QMessageBox

2024-05-15 06:19:33 发布

您现在位置:Python中文网/ 问答频道 /正文

当我试图用pyqt5python3.5弹出QMessageBox时遇到了一个问题 它在背景而不是前景中。 我在这个论坛上尝试过不同的阅读,但没有成功。 当我单击Save按钮时会调用这个QMessage

我的所有代码:

import os
import sys
import numpy as np
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QApplication, QWidget, QInputDialog, QLineEdit, QFileDialog,QMessageBox
import pyqtgraph as pg
import pyqtgraph.exporters


class Ui_Viewer(QtWidgets.QMainWindow):

    def __init__(self, parent=None):
        self.parent = parent
        super(Ui_Viewer, self).__init__()
        self.central_widget = QtWidgets.QWidget()
        self.setCentralWidget(self.central_widget)

    def createWindow(self):
        self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
        self.setWindowTitle("My Viewer")
        self.resize(1280, 960)
        self.Button_Save = QtWidgets.QPushButton(self.central_widget)
        self.Button_Save.setGeometry(10, 10, 70, 30)
        self.Button_Save.setStyleSheet("background-color: rgb(109, 109, 109);")
        self.Button_Save.setText("Save")
        self.Button_Save.clicked.connect(self.process_Save_Figure)

    def process_Save_Figure(self):
        msgBox = QtWidgets.QMessageBox()
        msgBox.setWindowFlag(QtCore.Qt.WindowStaysOnTopHint)
        msgBox.warning(msgBox.setStyleSheet("background-color:gray;"), 'Information',
                       "Save Data")

def main():
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = Ui_Viewer()
    MainWindow.createWindow()
    MainWindow.show()

    rc = app.exec_()
    sys.exit(rc)


if __name__ == "__main__":
    main()

Tags: importselfuisavedefsysbuttonwidget
2条回答

请尝试以下代码:

  def process_Save_Figure(self):
        msgBox = QMessageBox()
        msgBox.warning(self, 'Information',"Save Data")

如果它是有效的,你可以应用你的风格。在

当我注释掉行self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)时,问题就消失了

(在PySide2上测试)

相关问题 更多 >

    热门问题