介绍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属性,以及退出应用程序。
