本例說明按鈕事件設定,並於按鈕按下後彈出訊息視窗
視窗設計
使用 Qt Designer 設計如下 ui 介面,請注意按鈕的 objectName 要改成 btn。

按鈕事件
按鈕的 objectName 為 btn,所以在建構子中先註冊按下後要執行的方法
self.btn.clicked.connect(self.btn_click)
訊息視窗
視息視窗為 QMessageBox,可以設定視窗 title,要顯示的文字 text,及要出現的按鈕,最後使用 msg.extc() 傳回按下的結果。
def btn_click(self):
msg=QMessageBox()
msg.setWindowTitle("測試")
msg.setText("彈出視窗")
msg.addButton(QMessageBox.Ok)
msg.addButton(QMessageBox.Cancel)
result=msg.exec()
if result==QMessageBox.Ok:
print("ok")
else:
print("cancel")
完整代碼
底下為完整代碼
import sys
from PySide6.QtWidgets import QMainWindow, QMessageBox, QApplication
from ui.ui_mainwindow import Ui_MainWindow
class MainWindow(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super().__init__(parent)
self.setupUi(self)
self.btn.clicked.connect(self.btn_click)
def btn_click(self):
msg=QMessageBox()
msg.setWindowTitle("測試")
msg.setText("彈出視窗")
msg.addButton(QMessageBox.Ok)
msg.addButton(QMessageBox.Cancel)
result=msg.exec()
if result==QMessageBox.Ok:
print("ok")
else:
print("cancel")
app=QApplication(sys.argv)
mainWindow=MainWindow()
mainWindow.show()
app.exec()
