get paid

Get paid for the tasks you do online

2019年1月27日 星期日

PyQT5 教學 -- QMessage Box 教學

QMessageBox 其實就是 pop up message , 彈跳視窗. 可以pop up 重要 message.


# 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 就好了




沒有留言:

張貼留言

ChartGPT 學 python 很強喔

 ChartGPT 最近很紅 ,  前一陣子有一些小 module  本來想 google  一下 語法 但發現用 chartGPT 直接請他給 sample code 反而較快 所以只要你有基本 知識 ChartGPT 可以加速你的開發 好用喔