QDialog怎么用
时间: 2024-08-16 15:03:40 浏览: 45
`QDialog` 是 Qt 库中的一个高级窗口组件,它表示一个非模态对话框(Modal Dialog),这意味着在对话框存在期间,用户无法操作其他窗口。`QDialog` 继承自 `QWidget`,通常用于显示需要用户交互的临时信息,如设置对话、确认对话等。
使用 `QDialog` 的步骤通常是这样的:
1. 导入所需模块:
```python
from PyQt6.QtWidgets import QApplication, QDialog, QPushButton
```
2. 创建对话框类:
```python
class CustomDialog(QDialog):
def __init__(self, parent=None):
super().__init__(parent)
# 初始化界面布局和控件
self.init_ui()
```
3. 初始化界面(UI):
```python
def init_ui(self):
layout = QVBoxLayout()
self.ok_button = QPushButton('确定', self)
self.cancel_button = QPushButton('取消', self)
self.ok_button.clicked.connect(self.accept)
self.cancel_button.clicked.connect(self.reject)
layout.addWidget(self.ok_button)
layout.addWidget(self.cancel_button)
self.setLayout(layout)
self.setWindowTitle('自定义对话框')
```
4. 显示对话框:
```python
def show_dialog(self):
if self.exec_() == QDialog.Accepted: # 如果接受(OK 按钮)
print("用户选择了‘确定’")
else: # 如果拒绝(Cancel 按钮)
print("用户选择了‘取消’")
# 在主程序中调用对话框
app = QApplication([])
dialog = CustomDialog()
dialog.show_dialog()
app.exec_()
```
在这个例子中,`exec_()` 方法启动对话框,用户可以点击 "确定" 或者 "取消" 按钮。如果选择 "确定",则返回 `QDialog.Accepted`,反之则是 `QDialog.Rejected`。
阅读全文