PySide2 内部中自带有PyDesigner,可以通过它来将部件功能实例化组合达到自己需要的界面。
但是由于将很多不同的控件组合的过程中,逻辑容易混乱,不利于修改,比较好的一种方式就是生成多个功能不同的控件(Widget),然后在主窗口根据Layout 来组合这些控件,从而能够清晰自己创建的UI逻辑,便于维护修改。
比如如果有一个Widget不需要,那么只需要删除这个控件,或者不调用就可以了,而不需要在一个很复杂的py文件中找出该控件并修改/删去。
方法很简单,也就是在主文件中,同时生成主窗口和控件的类,并且将生成的控件添加在主窗口中。
class myui(QMainWindow,Ui_MainWindow):
def __init__(self,parent =None):
super(myui,self).__init__(parent)
self.setupUi(self)
self.a = awidget()
self.b = mainwidget()
self.horizontalLayout.addWidget(self.a.listWidget_2)
self.horizontalLayout.addWidget(self.b)
class mainwidget(QWidget,NewT