# import 需要的 package
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QMessageBox
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import pyqtSlot
app = QApplication(sys.argv)
msgBox = QMessageBox() # 建立一個 message Box 對話框
msgBox.setIcon(QMessageBox.Information) # msgBox 加入一個 "information" icon
上面這個 icon 就是下面紅框框內的 驚嘆號 ( 紅框框事後製)
msgBox.setText("Message box pop up window") # 加入文字
再QMessageBox 內文字可以直接加入
msgBox.setStandardButtons(QMessageBox.Ok| QMessageBox.Cancel)
加入message標準按鈕 OK .. Cancel.. 這是 QMessage 標準的按鈕
#當msgBox執行時 如是 ok 被按下執行 ok clicked
#如是 Cancel 被按下執行 print Cancel clicked
returnValue = msgBox.exec()
if returnValue == QMessageBox.Ok:
print('OK clicked')
elif returnValue == QMessageBox.Cancel:
print("Cancel clicked")
msgBox.show() # 顯示 msgBox
#sys.exit(app.exec_()) # QMessageBox 本來就只會顯示一次 只要 Ok 或 canes 被觸發就結束了 , 所以可以不用這行
當然也可以使用訊號與槽 執行 ok 或 cancel button
msgBox.buttonClicked.connect(msgButtonClick) #msgbox ok or cancel 被案下的訊號
msgBox 槽
def msgButtonClick(i): # i 是被案的按鈕
print("Button clicked is:",i.text())
# 如果是 ok 被案則 i.text 是 ok , cancel 被案下則是 cancel
當然也可以在 再 message box 加入 button 物件, 不過如此一來直接用widget 就好了
沒有留言:
張貼留言