1、通过Designer设计一个UI,并使用继承来实现UI中的业务逻辑
具体可以参考这篇:
与上面这篇的不同之处是,直接继承两个,具体如下:
其中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)