Пример #1
0
    def _init_widgets(self):
        ################## 选择目录对话框 #################
        self.selectDialog = QtWidgets.QFileDialog(self)
        self.selectDialog.setWindowTitle(_tr("选择输出目录"))
        self.selectDialog.setDirectory(getRealText(self.edtOutDir))
        # self.selectDialog.setFilter(_tr("目录"))
        self.selectDialog.setFileMode(QtWidgets.QFileDialog.DirectoryOnly)
        self.selectDialog.setOption(QtWidgets.QFileDialog.ShowDirsOnly, True)

        ################# 模板列表 #################
        self.cbxTemplate.setEditable(False)
        self.loadTemplateDirs()

        ################# 实现的接口表 #################
        self.modelInterface = QtGui.QStandardItemModel(1, 1)
        self.modelInterface.setHeaderData(0, QtCore.Qt.Horizontal,
                                          QtCore.QVariant(_tr("GType函数/宏")))
        self.modelInterface.itemChanged.connect(self._onInterfaceTableChanged)
        self.delegateInterface = Interface.Delegate()
        self.lstImplInteface.setModel(self.modelInterface)
        self.lstImplInteface.setItemDelegate(self.delegateInterface)

        ################# 属性表 #################
        self.modelProperty = QtGui.QStandardItemModel(1, 5)
        self.modelProperty.setHeaderData(0, QtCore.Qt.Horizontal,
                                         QtCore.QVariant(_tr("名称")))
        self.modelProperty.setHeaderData(1, QtCore.Qt.Horizontal,
                                         QtCore.QVariant(_tr("类型")))
        self.modelProperty.setHeaderData(2, QtCore.Qt.Horizontal,
                                         QtCore.QVariant(_tr("默认值")))
        self.modelProperty.setHeaderData(3, QtCore.Qt.Horizontal,
                                         QtCore.QVariant(_tr("最大值")))
        self.modelProperty.setHeaderData(4, QtCore.Qt.Horizontal,
                                         QtCore.QVariant(_tr("最小值")))
        self.modelProperty.itemChanged.connect(self._onPropertyTableChanged)
        self.delegateProperty = Property.Delegate()
        self.lstProperties.setModel(self.modelProperty)
        self.lstProperties.setItemDelegate(self.delegateProperty)

        ################# 信号表 #################
        self.modelSignal = QtGui.QStandardItemModel(1, 2)
        self.modelSignal.setHeaderData(0, QtCore.Qt.Horizontal,
                                       QtCore.QVariant(_tr("名称")))
        self.modelSignal.setHeaderData(1, QtCore.Qt.Horizontal,
                                       QtCore.QVariant(_tr("回调类型")))
        self.modelSignal.itemChanged.connect(self._onSignalTableChanged)
        self.delegateSignal = Signal.Delegate()
        self.lstSignals.setModel(self.modelSignal)
        self.lstSignals.setItemDelegate(self.delegateSignal)

        ################# 自定义参数表 #################
        self.modelCustomParameter = QtGui.QStandardItemModel(1, 2)
        self.modelCustomParameter.setHeaderData(0, QtCore.Qt.Horizontal,
                                                QtCore.QVariant(_tr("名称")))
        self.modelCustomParameter.setHeaderData(1, QtCore.Qt.Horizontal,
                                                QtCore.QVariant(_tr("值")))
        self.modelCustomParameter.itemChanged.connect(
            self._onCustomParameterTableChanged)
        self.delegateCustomParameter = CustomParameter.Delegate()
        self.lstCustomParameters.setModel(self.modelCustomParameter)
        self.lstCustomParameters.setItemDelegate(self.delegateCustomParameter)