PyQt 消息提示框


本文總結了PyQt中消息框的三種創建方式:

1 自帶型

msgBox = QtGui.QMessageBox.about(self, u'提示', u"\nAuthor: 望月又一(&Xu)!\n當前版本 v1.0.0")
msgBox.setWindowFlags(QtCore.Qt.CustomizeWindowHint)
msgBox.exec_() #模態對話框

#QMessageBox.critical(NULL, "critical", "Content", QMessageBox.Yes, QMessageBox.Yes) #帶按鍵

 自帶的messagebox 總共有 informationcriticalwarningquestion、about 五種類型,能滿足最基本的需求,使用方便。

如下圖:

 

 

2 簡單自定義型

msgBox = QtGui.QMessageBox()
msgBox.setWindowTitle(u'提示')
msgBox.setText(u"\nAuthor: 望月又一(&Xu)!\n當前版本 v1.0.0")
msgBox.setWindowIcon(QtGui.QIcon(r':/0102.png'))

#隱藏ok按鈕
msgBox.addButton(QtGui.QMessageBox.Ok)
msgBox.button(QtGui.QMessageBox.Ok).hide()

#模態對話框
msgBox.exec_()

 如下圖:

 

3 復雜自定義型

def about(self):

        msgBox = QtGui.QDialog()
        
        #對話框大小位置
        desktop = QtGui.QDesktopWidget()
        screen_width = desktop.screenGeometry().width()
        screen_height = desktop.screenGeometry().height()
        msgBox.setGeometry(screen_width/2-150,screen_height/2-225,300,300)
        msgBox.setFixedSize(300,300)

        #對話框大名字 & Icon
        msgBox.setWindowTitle(u'關於')
        #msgBox.setWindowIcon(QtGui.QIcon(r':/0102.png'))
        
        #放圖片的label
        label = QtGui.QLabel()
        label.setPixmap(QtGui.QPixmap(r':/0103.png'))
        label.setAlignment(QtCore.Qt.AlignHCenter)

        #放文字信息的label
        label1 = QtGui.QLabel()
        label1.setFont(QtGui.QFont("Microsoft YaHei", 12))
        pa = QtGui.QPalette()
        pa.setColor(QtGui.QPalette.WindowText,QtGui.QColor("#0x000000"));
        label1.setPalette(pa)
        label1.setText(u"\nAuthor: 望月又一(&Xu)!\n當前版本 v1.0.0")
        label1.setAlignment(QtCore.Qt.AlignHCenter)
        
        #布局
        hbox = QtGui.QVBoxLayout()
        hbox.addWidget(label)
        hbox.addWidget(label1)
        vbox = QtGui.QVBoxLayout()
        vbox.addLayout(hbox)
        msgBox.setLayout(vbox)
        
        #模態對話框
        msgBox.exec_()

 如下圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM