欢迎访问宙启技术站
智能推送

介绍PyQt5.QtWidgets.QDialog__init__()的主要属性和方法

发布时间:2023-12-27 12:16:52

PyQt5.QtWidgets.QDialog提供了一个对话框窗口,它可以包含其他小部件,用于与用户进行交互。__init__()是QDialog类的构造函数,用于创建一个新的对话框实例。

1. 属性:

- accepted:判断对话框是否被接受(返回True或False)。

- modal:对话框是否是模态的(默认为True,即对话框出现时,其他窗口将被阻塞)。

- result:对话框的结果(保存对话框执行后的返回值)。

2. 方法:

- accept():接受对话框,设置accepted为True并关闭对话框。

- closeEvent(event):在对话框关闭时触发的事件。

- exec_():显示对话框以及所有子小部件,并进入事件循环,直到对话框关闭。

- reject():拒绝对话框,设置accepted为False并关闭对话框。

- setResult(result):设置对话框的结果,用于exec_()返回。

下面是一个使用QDialog的示例代码:

from PyQt5.QtWidgets import QApplication, QDialog, QVBoxLayout, QLabel, QPushButton

class CustomDialog(QDialog):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.setWindowTitle('Custom Dialog')
        layout = QVBoxLayout()
        label = QLabel('Hello, world!')
        layout.addWidget(label)
        button = QPushButton('Close')
        button.clicked.connect(self.accept)  # 点击按钮关闭对话框并接受
        layout.addWidget(button)
        self.setLayout(layout)

if __name__ == '__main__':
    app = QApplication([])
    dialog = CustomDialog()
    dialog.exec_()
    print('Dialog accepted:', dialog.accepted)
    app.quit()

在这个例子中,我们创建了一个自定义的对话框类CustomDialog,继承自QDialog。在构造函数中,我们设置了对话框的标题,并创建了一个垂直布局,并添加了一个标签和一个按钮。当按钮被点击时,我们调用accept()方法,来关闭对话框并设置accepted为True,表示对话框被接受。

在主程序中,我们创建了一个QApplication实例,并实例化了CustomDialog。然后调用exec_()方法显示对话框,并进入事件循环,直到对话框被关闭。最后,我们打印出对话框的accepted属性,以及退出应用程序。