pyqt QDialog设置确定和取消按钮
时间: 2024-09-09 17:00:49 浏览: 77
在PyQt中,`QDialog` 是一个用于创建对话框窗口的基本组件,通常包含一个主面板和一些操作按钮。如果你想要在 `QDialog` 中添加确定(`OK`) 和取消(`Cancel`) 按钮,可以按照以下步骤操作:
1. 首先,导入所需的库:
```python
from PyQt5.QtWidgets import QApplication, QDialog, QPushButton
```
2. 创建一个自定义的 `MyDialog` 类,继承 `QDialog` 并加入两个 `QPushButton` 对象:
```python
class MyDialog(QDialog):
def __init__(self, parent=None):
super().__init__(parent)
self.setWindowTitle('标题') # 设置窗口标题
# 创建确定按钮
ok_button = QPushButton('确定', self)
ok_button.clicked.connect(self.accept) # 连接点击事件到接受对话框
# 创建取消按钮
cancel_button = QPushButton('取消', self)
cancel_button.clicked.connect(self.reject) # 连接点击事件到拒绝对话框
# 定义布局,比如使用 QVBoxLayout:
layout = QVBoxLayout()
layout.addWidget(ok_button)
layout.addWidget(cancel_button)
self.setLayout(layout)
```
3. 使用 `exec_()` 函数显示对话框:
```python
app = QApplication([]) # 初始化应用程序
dialog = MyDialog()
if dialog.exec_() == QDialog.Accepted: # 如果用户点击了确定
print("确认操作")
else:
print("取消操作")
app.quit() # 关闭应用程序
```
在这个例子中,当用户点击确定按钮时,对话框会被接受并继续执行后续代码;点击取消按钮则会拒绝对话框并退出。
阅读全文