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

使用PyQt5.QtWidgets.QDialog__init__()创建带有自定义控件的对话框

发布时间:2023-12-27 12:17:44

使用PyQt5.QtWidgets.QDialog.__init__()方法创建带有自定义控件的对话框非常简单。在这个例子中,我们将展示一个带有文本输入框和一个按钮的对话框。

首先,我们导入必要的模块:

from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QDialog, QApplication, QFormLayout, QPushButton, QLineEdit
import sys

然后,我们创建一个自定义的对话框类MyDialog,继承自QDialog,并在__init__()方法中初始化界面元素:

class MyDialog(QDialog):
    def __init__(self, parent=None):
        super(MyDialog, self).__init__(parent)

        # 创建布局
        layout = QFormLayout()

        # 创建文本输入框
        self.text_input = QLineEdit()
        layout.addRow('输入:', self.text_input)

        # 创建按钮
        self.button = QPushButton('确定')
        layout.addRow(self.button)

        # 设置布局
        self.setLayout(layout)

接下来,我们创建一个应用程序,并在应用程序内部创建一个MyDialog对象:

if __name__ == '__main__':
    app = QApplication(sys.argv)
    dialog = MyDialog()
    dialog.show()
    sys.exit(app.exec_())

这个应用程序将打开一个带有文本输入框和按钮的对话框。用户可以在文本输入框中输入文本,并点击按钮执行相应的操作。

完整的代码示例如下:

from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QDialog, QApplication, QFormLayout, QPushButton, QLineEdit
import sys


class MyDialog(QDialog):
    def __init__(self, parent=None):
        super(MyDialog, self).__init__(parent)

        # 创建布局
        layout = QFormLayout()

        # 创建文本输入框
        self.text_input = QLineEdit()
        layout.addRow('输入:', self.text_input)

        # 创建按钮
        self.button = QPushButton('确定')
        layout.addRow(self.button)

        # 设置布局
        self.setLayout(layout)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    dialog = MyDialog()
    dialog.show()
    sys.exit(app.exec_())

执行以上代码,将会弹出一个带有文本输入框和按钮的对话框。用户可以在文本输入框中输入文本,并点击按钮执行相应的操作。