PYQT5之界面和逻辑分离式设计
综述
在刚开始学习pyqt时,界面多是手写,所以会把界面设计和功能的实现写在同一个类里,导致代码过长,也不好修改。在qt中,一个界面分为ui文件和cpp文件,故我们可以在pyqt中用同样的方式。
界面
相当于ui文件
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
class Ui_XXX(QObject):
def __init__(self):
super(Ui_XXX, self).__init__()
def setUi(self, form):
'''为窗口设置UI
:param form: 要设置的窗口
:return:
'''
box = QHBoxLayout(form)
box.setSizeConstraint(QLayout.SetFixedSize) #窗口会随内容改变大小
box.setContentsMargins(0, 0, 0, 0)
box.setSpacing(0)
self.wid = QWidget()
box.addWidget(self.wid)
self.retranslateUi(form)
def retranslateUi(self, form):
'''设置界面样式
:param form: 界面
:return: None
'''
self.wid.setStyleSheet('QWi