QtWidgets.QDialog对话框控件的用法

46 阅读1分钟

1、通过Designer设计一个UI,并使用继承来实现UI中的业务逻辑

具体可以参考这篇:

juejin.cn/post/729193…

与上面这篇的不同之处是,直接继承两个,具体如下:

其中doclink.py是将UI转换后的python文件。

class MyDocLinkDialog(QtWidgets.QDialog,doclink.Ui_Dialog):
    def __init__(self,parent=None):
        super(MyDocLinkDialog,self).__init__(parent)
        self.setupUi(self)

2、在主窗口打开对话框,实现交互

在对话框的继承类MyDocLinkDialog中实现一个静态方法

@staticmethod
def set_doclink(task_id,parent=None):
    if task_id is None or task_id.strip(" ")=="":
        return
    dialog=MyDocLinkDialog(parent)

    # 根据传进来的ID参数值,初始化对话框中的一些默认值

    # 这是一个阻塞函数,只有对话框关闭后才会返回结果
    result=dialog.exec()

    # 如果是点击了对话框中的确定按钮
    if result==QtWidgets.QDialog.Accepted:
        pass
    else:
        pass

在主窗口中调用静态方法

MyDocLinkDialog.set_doclink(id,self)