- PyQt 教程
- PyQt - 首頁
- PyQt - 簡介
- PyQt - 環境配置
- PyQt - Hello World
- PyQt - 主要類
- PyQt - 使用 Qt Designer
- PyQt - 元物件
- PyQt 訊號與槽
- PyQt - 訊號和槽
- PyQt - 支援和訊號
- PyQt - 未繫結和已繫結訊號
- PyQt - 使用 PyQtSignal 建立新的訊號
- PyQt - 連線、斷開和發射訊號
- PyQt - 槽裝飾器
- PyQt - 槽連線
- PyQt 佈局
- PyQt - 佈局管理
- PyQt - QBoxLayout
- PyQt - QGridLayout
- PyQt - QFormLayout
- PyQt - QHBoxLayout
- PyQt - QVBoxLayout
- PyQt - QStackedLayout
- PyQt - QGraphicsGridLayout
- PyQt - QGraphicsAnchorLayout
- PyQt - QGraphicsLayout
- PyQt - QGraphicsLinearLayout
- PyQt 基本元件
- PyQt - 基本元件
- PyQt - QLabel 元件
- PyQt - QLineEdit 元件
- PyQt - QPushButton 元件
- PyQt - QRadioButton 元件
- PyQt - QCheckBox 元件
- PyQt - QComboBox 元件
- PyQt - QSpinBox 元件
- PyQt - QMessageBox
- PyQt - QDialogButtonBox 元件
- PyQt - QFontComboBox 元件
- PyQt - QDoubleSpinBox 元件
- PyQt - QToolBox 元件
- PyQt - QDialog 類
- PyQt - QMessageBox
- PyQt - 多文件介面
- PyQt - 拖放
- PyQt 繪圖 API
- PyQt - 繪圖 API
- PyQt 資料庫
- PyQt - 資料庫處理
- PyQt 核心要點
- PyQt - BrushStyle 常量
- PyQt - QClipboard
- PyQt - QPixmap 類
- PyQt 有用資源
- PyQt - 快速指南
- PyQt - 有用資源
- PyQt - 討論
PyQt - QDialogButtonBox 元件
QDialogButtonBox 工具簡化了在對話方塊中新增按鈕的過程。它簡化了建立對話方塊按鈕設定(如“確定”、“取消”、“應用”等)的過程。使用此功能,開發人員可以跨平臺維護按鈕位置和操作。
QDialogButtonBox 中使用的方法
以下是 QDialogButtonBox 元件的一些常用方法及其描述:
| 方法 | 描述 |
|---|---|
| addButton() | 向按鈕框新增一個按鈕。 |
| button() | 返回與指定角色關聯的按鈕。 |
| setStandardButtons() | 設定要新增到按鈕框的標準按鈕。 |
| standardButton() | 返回被點選的標準按鈕。 |
示例 1:建立簡單的 QDialogButtonBox
在這個例子中,我們使用 QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel 引數建立一個帶有“確定”和“取消”按鈕的 **QDialogButtonBox**。我們將按鈕框的 accepted 和 rejected 訊號分別連線到對話方塊的 accept 和 reject 槽。
import sys
from PyQt6.QtWidgets import QApplication, QDialog, QDialogButtonBox, QVBoxLayout
class Dialog(QDialog):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
layout = QVBoxLayout()
buttonBox = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel)
buttonBox.accepted.connect(self.accept)
buttonBox.rejected.connect(self.reject)
layout.addWidget(buttonBox)
self.setLayout(layout)
if __name__ == '__main__':
app = QApplication(sys.argv)
dialog = Dialog()
dialog.exec()
sys.exit(app.exec())
輸出
以上程式碼產生以下輸出:
示例 2:使用標準按鈕
在這個例子中,我們建立一個 **QDialogButtonBox** 並使用 setStandardButtons() 方法設定標準按鈕(儲存、取消和放棄)。我們將按鈕框的 clicked 訊號連線到自定義槽 buttonClicked,該槽使用 **standardButton()** 識別被點選的按鈕,並根據按鈕的角色執行特定操作。
import sys
from PyQt6.QtWidgets import QApplication, QDialog, QDialogButtonBox, QVBoxLayout
class Dialog(QDialog):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
layout = QVBoxLayout()
buttonBox = QDialogButtonBox()
buttonBox.setStandardButtons(QDialogButtonBox.StandardButton.Save | QDialogButtonBox.StandardButton.Cancel | QDialogButtonBox.StandardButton.Discard)
buttonBox.clicked.connect(self.buttonClicked)
layout.addWidget(buttonBox)
self.setLayout(layout)
def buttonClicked(self, button):
role = buttonBox.standardButton(button)
if role == QDialogButtonBox.Save:
print("Save clicked")
elif role == QDialogButtonBox.Cancel:
print("Cancel clicked")
elif role == QDialogButtonBox.Discard:
print("Discard clicked")
if __name__ == '__main__':
app = QApplication(sys.argv)
dialog = Dialog()
dialog.exec()
sys.exit(app.exec())
輸出
以上程式碼產生以下輸出:
廣告