首页 PyQt5视频教程 PyQt QDialog对话框控件基类 API大全
pay pay

PyQt QDialog对话框控件基类 API大全

日期: 七月 6, 2023, 2:08 p.m.
栏目: PyQt5视频教程
阅读: 68
作者: Python自学网-村长

摘要: QDialog是一个用于创建对话框的Qt控件基类,可以用于在应用程序中显示模态或非模态对话框。以下是QDialog类的一些常用API及其说明:

QDialog是一个用于创建对话框的Qt控件基类,可以用于在应用程序中显示模态或非模态对话框。以下是QDialog类的一些常用API及其说明:

构造函数

  • QDialog(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags()):构造一个新的对话框,父窗口为parent,flags为窗口标志。

基本属性

  • setWindowTitle(const QString &title):设置对话框的标题
  • setModal(bool modal):设置对话框是否为模态对话框
  • setFixedSize(int w, int h):设置对话框的固定大小

基本方法

  • exec():在模态模式下打开对话框,阻塞调用代码,直到对话框关闭
  • show():以非模态模式显示对话框
  • accept():关闭对话框并返回QDialog::Accepted
  • reject():关闭对话框并返回QDialog::Rejected

布局和控件操作

  • setLayout(QLayout *layout):设置对话框的布局
  • addButton(QAbstractButton *button, QDialogButtonBox::ButtonRole role):向对话框添加一个按钮
  • removeButton(QAbstractButton *button):从对话框中移除一个按钮

以下是一个简单的示例,演示了如何使用QDialog来创建一个简单的对话框:

import sys
from PyQt import *
class MyDialog(QDialog):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.setWindowTitle("My Dialog")
        self.setModal(True)
        self.setFixedSize(200, 100)
        self.button_ok = self.addButton("OK", QDialogButtonBox.AcceptRole)
        self.button_cancel = self.addButton("Cancel", QDialogButtonBox.RejectRole)

    def accept(self):
        print("Accepted")
        super().accept()

    def reject(self):
        print("Rejected")
        super().reject()

app = QApplication(sys.argv)
dialog = MyDialog()
dialog.show()
sys.exit(app.exec_())

在这个示例中,我们创建了一个名为MyDialog的自定义对话框类,它继承自QDialog。在构造函数中,我们设置了对话框的标题、模态性、大小,并添加了两个按钮。当点击OK按钮时,会打印Accepted,并调用父类的accept()方法来关闭对话框。当点击Cancel按钮时,会打印Rejected,并调用父类的reject()方法来关闭对话框。最后,我们显示了对话框,并启动Qt应用程序事件循环。

原创视频,版权所有,未经允许,切勿转载,违者必究!
回顶部