您好,登錄后才能下訂單哦!
使用PyQt怎么實現一個彈出式對話框?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
一、控件說明
QMessageBox是一種通用的彈出式對話框,用于顯示消息,允許用戶通過單擊不同的標準按鈕對消息進行反饋,且每個標準按鈕都有一個預定義的文本、角色和十六進制數。
QNessageBox類提供了如:提示、警告、錯誤、問詢、關于等對話框(這些不同類型的對話框只是顯示的圖標不同其他功能均一致)
二、QMessageBox類中的常用方法
infomation(QWidget parent,title text,buttons,defaultButton):
彈出消息對話框,對應參數如下:
parent:指定父窗口
title:對話框標題
text:對話框文本
buttons:多個標準按鈕,默認為OK按鈕
defaultButton:默認選中的標準按鈕,默認為對話框中第一個按鈕
question(QWidget parent,title text,buttons,defaultButton):
彈出問答對話框(參數同上)
warning(QWidget parent,title text,buttons,defaultButton)::
彈出警告對話框(參數同上)
critical(QWidget parent,title text,buttons,defaultButton):
彈出嚴重錯誤對話框(參數同上)
about(QWidget parent,title,text)
彈出關于對話框(參數同上)
setTitle():
設置標題
setText():
設置正文消息
setIcon():
設置彈出對話框的圖片
具體代碼可參考下方例子。
三、QMessageBox的標準按鈕類型
QMessage.OK
確認操作
QMessage.Cancel
取消操作
QMessage.Yes
確認操作
QMessage.No
取消操作
QMessage.Abort
終止操作
QMessage.Retry
重試操作
QMessage.Igonre
忽略操作
四、例子
import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * class MyWindow(QWidget): def __init__(self,parent=None): super(MyWindow,self).__init__(parent) self.setWindowTitle("彈出式對話框例子") self.resize(400,200) self.btn1=QPushButton(self) self.btn1.setText("消息框") self.btn1.clicked.connect(self.msg1) layout=QVBoxLayout() self.btn2=QPushButton(self) self.btn2.setText("問答對話框") self.btn2.clicked.connect(self.msg2) self.btn3=QPushButton() self.btn3.setText("警告對話框") self.btn3.clicked.connect(self.msg3) self.btn4=QPushButton() self.btn4.setText("嚴重錯誤對話框") self.btn4.clicked.connect(self.msg4) self.btn5=QPushButton() self.btn5.setText("關于對話框") self.btn5.clicked.connect(self.msg5) layout.addWidget(self.btn1) layout.addWidget(self.btn2) layout.addWidget(self.btn3) layout.addWidget(self.btn4) layout.addWidget(self.btn5) self.setLayout(layout) def msg1(self): #使用infomation信息框 QMessageBox.information(self,"標題","消息正文",QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes) def msg2(self): QMessageBox.question(self,"標題","問答消息正文",QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes) def msg3(self): QMessageBox.warning(self,"標題","警告消息正文",QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes) def msg4(self): QMessageBox.critical(self,"標題","嚴重錯誤消息正文",QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes) def msg5(self): QMessageBox.about(self,"標題","關于消息正文") if __name__=="__main__": app=QApplication(sys.argv) win=MyWindow() win.show() sys.exit(app.exec_())
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。