def data(self, qIndex, role=None):
     # qIndex is the qIndex of the column/row.
     keyList = list(self.hashedDatagrams.keys())
     if role == Qt.DisplayRole:
         period = self.hashedDatagrams[keyList[qIndex.row()]][0]
         count = self.hashedDatagrams[keyList[qIndex.row()]][1]
         datagram = self.hashedDatagrams[keyList[qIndex.row()]][2]
         if qIndex.column() == 0:
             return str(period)
         elif qIndex.column() == 1:
             return str(count)
         elif qIndex.column() == 3:
             return str(datagram.messageID)
         elif qIndex.column() == 4:
             if datagram.data == None:
                 return ""
             else:
                 return str(
                     datagram.dataToString(displayFlag=self.displayFlag))
     if role == Qt.DecorationRole:
         datagram = self.hashedDatagrams[keyList[qIndex.row()]][2]
         if qIndex.column() == 2:
             if datagram.getDatagramTypeCode() == "R":
                 return GUIToolKit.getIconByName("reddot")
             elif datagram.getDatagramTypeCode() == "r":
                 return GUIToolKit.getIconByName("bluedot")
             elif datagram.getDatagramTypeCode() == "T":
                 return GUIToolKit.getIconByName("orangedot")
             elif datagram.getDatagramTypeCode() == "t":
                 return GUIToolKit.getIconByName("greendot")
     if role == Qt.TextAlignmentRole:
         if qIndex.column() == 1:
             return Qt.AlignVCenter + Qt.AlignCenter
         if qIndex.column() == 3:
             return Qt.AlignVCenter + Qt.AlignRight
    def connectDisconnectSnnifer(self):
        if self.sniffer.isConnected:
            # Diconnect Serial Action
            self.sniffer.disconnectSerial()

            self.connectDisconnectButton.setIcon(
                GUIToolKit.getIconByName("connect"))
            self.connectDisconnectButton.setText("Serial connect")
            self.startStopButton.setEnabled(False)
            self.serialPortComboBox.setEnabled(True)
            self.rebootButton.setEnabled(False)
            self.modeLabel.setEnabled(False)
            self.canbitrateLabel.setEnabled(False)
            self.busSpeedComboBox.setEnabled(False)
            self.modeComboBox.setEnabled(False)

        else:
            # Connect Serial Action
            self.sniffer.serialPortName = self.serialPortComboBox.currentText()
            self.sniffer.connectSerial()
            self.connectDisconnectButton.setIcon(
                GUIToolKit.getIconByName("disconnect"))
            self.connectDisconnectButton.setText("Serial disconnect")
            self.startStopButton.setEnabled(True)
            self.startStopButton.setIcon(GUIToolKit.getIconByName("start"))
            self.startStopButton.setText("Start")
            self.serialPortComboBox.setEnabled(False)
            self.sniffer.isSnifing = False

            self.modeLabel.setEnabled(True)
            self.canbitrateLabel.setEnabled(True)
            self.busSpeedComboBox.setEnabled(True)
            self.modeComboBox.setEnabled(True)
            self.rebootButton.setEnabled(True)
    def data(self, index, role=None):
        if role == Qt.DisplayRole:
            timestamp = self.datagramsTimedList[index.row()][0]
            datagram = self.datagramsTimedList[index.row()][1]

            if index.column() == 0:
                return str(timestamp)
            elif index.column() == 2:
                return str(datagram.messageID)
            elif index.column() == 3:
                return str(datagram.dlc)
            elif index.column() == 4:
                if datagram.data == None:
                    return ""
                else:
                    return str(
                        datagram.dataToString(displayFlag=self.displayFlag))
        if role == Qt.DecorationRole:
            datagram = self.datagramsTimedList[index.row()][1]
            if index.column() == 1:
                if datagram.getDatagramTypeCode() == "R":
                    return GUIToolKit.getIconByName("reddot")
                elif datagram.getDatagramTypeCode() == "r":
                    return GUIToolKit.getIconByName("bluedot")
                elif datagram.getDatagramTypeCode() == "T":
                    return GUIToolKit.getIconByName("orangedot")
                elif datagram.getDatagramTypeCode() == "t":
                    return GUIToolKit.getIconByName("greendot")
        if role == Qt.TextAlignmentRole:
            if index.column() == 3:
                return Qt.AlignVCenter + Qt.AlignCenter
            if index.column() == 2:
                return Qt.AlignVCenter + Qt.AlignRight
示例#4
0
 def reapetChecked(self):
     if self.repeatCheckBox.isChecked():
         self.periodEdit.setEnabled(True)
         self.msLabel.setEnabled(True)
         self.sendStartStopButton.setText("Start")
         self.sendStartStopButton.setIcon(GUIToolKit.getIconByName("start"))
     else:
         self.periodEdit.setEnabled(False)
         self.msLabel.setEnabled(False)
         self.sendStartStopButton.setText("Send")
         self.sendStartStopButton.setIcon(GUIToolKit.getIconByName("send"))
示例#5
0
 def sendStartStopAction(self):
     if self.repeatCheckBox.isChecked():
         if self.sendLoopActive is True:
             # Pause
             self.sendLoopActive = False
             self.sendStartStopButton.setText("Start")
             self.sendStartStopButton.setIcon(
                 GUIToolKit.getIconByName("start"))
             self.setDatagramEditionEnable(True)
             self.stopSendingLoop()
         else:
             # Start
             self.sendLoopActive = True
             self.sendStartStopButton.setText("Stop")
             self.sendStartStopButton.setIcon(
                 GUIToolKit.getIconByName("stop"))
             self.setDatagramEditionEnable(False)
             self.startSendingLoop()
     else:
         # Send a single datagram
         datagram = self.grabDatagram()
         self.sendDatagram(datagram)
    def startStopSnifer(self):
        if self.sniffer.isSnifing:
            # Stop Action
            self.startStopButton.setText("Start")
            self.startStopButton.setIcon(GUIToolKit.getIconByName("start"))
            self.clearButton.setEnabled(True)
            self.canbitrateLabel.setEnabled(True)
            self.modeLabel.setEnabled(True)
            self.modeComboBox.setEnabled(True)
            self.busSpeedComboBox.setEnabled(True)
            self.stopSnifing()

        else:
            # Start Action
            self.startStopButton.setText("Stop")
            self.startStopButton.setIcon(GUIToolKit.getIconByName("stop"))
            self.snniferStarts.emit(str(self.current_milli_time()))
            self.clearButton.setEnabled(False)
            self.canbitrateLabel.setEnabled(False)
            self.modeLabel.setEnabled(False)
            self.modeComboBox.setEnabled(False)
            self.busSpeedComboBox.setEnabled(False)
            self.statrtSnifing()
    def __init__(self, parent=None, sniffer=None):
        """Constructor for ToolsWidget"""
        super().__init__(parent)

        self.setObjectName("sniffercontrlwidget")
        self.sniffer = sniffer

        self.gridLayout = QtWidgets.QGridLayout(self)

        self.gridLayout.setObjectName("horizontalLayout")

        self.serialPortLabel = QtWidgets.QLabel(self)
        self.serialPortLabel.setObjectName("serialPortLabel")
        self.gridLayout.addWidget(self.serialPortLabel, 1, 0, 1, 1)

        self.serialPortComboBox = SerialPortComboBox(self)
        self.serialPortComboBox.setEditable(False)

        self.serialPortComboBox.setObjectName("serialPortComboBox")
        self.serialPortComboBox.setMinimumWidth(150)
        self.gridLayout.addWidget(self.serialPortComboBox, 1, 2, 1, 1)

        self.canbitrateLabel = QtWidgets.QLabel(self)
        self.canbitrateLabel.setObjectName("sepeedBusLabel")
        self.gridLayout.addWidget(self.canbitrateLabel, 2, 0, 1, 1)

        self.busSpeedComboBox = QtWidgets.QComboBox(self)
        self.busSpeedComboBox.setObjectName("busSpeedComboBox")
        self.busSpeedComboBox.addItems(self.sniffer.canBusBitRates.keys())

        self.busSpeedComboBox.setMinimumWidth(120)
        self.gridLayout.addWidget(self.busSpeedComboBox, 2, 2, 1, 1)

        self.modeLabel = QtWidgets.QLabel(self)
        self.modeLabel.setObjectName("modeLabel")
        self.gridLayout.addWidget(self.modeLabel, 1, 3, 1, 1)

        self.modeComboBox = QtWidgets.QComboBox(self)
        self.modeComboBox.setObjectName("modeComboBox")
        self.modeComboBox.addItems(self.sniffer.canBusModes.keys())

        self.modeComboBox.setMinimumWidth(120)
        self.gridLayout.addWidget(self.modeComboBox, 1, 4, 1, 1)

        self.connectDisconnectButton = QtWidgets.QPushButton(self)
        self.connectDisconnectButton.setObjectName("connectDisconnectButton")
        self.connectDisconnectButton.clicked.connect(
            self.connectDisconnectSnnifer)
        self.connectDisconnectButton.setMinimumWidth(120)
        self.connectDisconnectButton.setIcon(
            GUIToolKit.getIconByName("connect"))
        self.gridLayout.addWidget(self.connectDisconnectButton, 1, 6, 1, 1)

        self.startStopButton = QtWidgets.QPushButton(self)
        self.startStopButton.setIcon(GUIToolKit.getIconByName("start"))
        self.startStopButton.setObjectName("startStopButton")
        self.startStopButton.clicked.connect(self.startStopSnifer)
        self.startStopButton.setMinimumWidth(120)
        self.startStopButton.setEnabled(False)
        self.gridLayout.addWidget(self.startStopButton, 2, 6, 1, 1)

        self.clearButton = QtWidgets.QPushButton(self)
        self.clearButton.setObjectName("clearButton")
        self.clearButton.setMinimumWidth(120)
        self.clearButton.setIcon(GUIToolKit.getIconByName("delete"))
        self.gridLayout.addWidget(self.clearButton, 1, 7, 1, 1)

        self.rebootButton = QtWidgets.QPushButton(self)
        self.rebootButton.setObjectName("rebootButton")
        self.rebootButton.setIcon(GUIToolKit.getIconByName("reboot"))
        self.rebootButton.setMinimumWidth(120)
        self.gridLayout.addWidget(self.rebootButton, 2, 7, 1, 1)

        spacerItem = QtWidgets.QSpacerItem(40, 20,
                                           QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Minimum)
        self.gridLayout.addItem(spacerItem, 1, 5, 1, 1)

        spacerItem = QtWidgets.QSpacerItem(40, 20,
                                           QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Minimum)

        # self.statuslineEdit = QtWidgets.QLineEdit(self)
        # self.statuslineEdit.setObjectName("statuslineEdit")
        # self.statuslineEdit.setEnabled(False)

        self.gridLayout.addItem(spacerItem, 2, 3, 1, 3)

        self.serialPortLabel.setText("Serial Port")
        self.canbitrateLabel.setText("CAN Bit rate")
        self.modeLabel.setText("Mode")
        self.connectDisconnectButton.setText("Serial connect")
        self.startStopButton.setText("Start")
        self.clearButton.setText("Clear tables")
        self.rebootButton.setText("Reboot sniffer")

        self.rebootButton.setEnabled(False)
        self.clearButton.setEnabled(False)

        self.modeLabel.setEnabled(False)
        self.canbitrateLabel.setEnabled(False)
        self.busSpeedComboBox.setEnabled(False)
        self.modeComboBox.setEnabled(False)

        self.modeComboBox.currentTextChanged.connect(self.sendModeCommand)
        self.busSpeedComboBox.currentTextChanged.connect(
            self.sendBitrateCommand)

        self.rebootButton.clicked.connect(self.rebbotAction)
示例#8
0
    def __init__(self, parent=None, tablesWidget=None):
        """Constructor for ToolsWidget"""
        super().__init__(parent)
        self.setObjectName("tableConrrolWidget")
        self.setTitle("Tables vizualization control")

        self.horizontalLayout = QtWidgets.QHBoxLayout(self)
        self.horizontalLayout.setObjectName("horizontalLayout")

        self.standardDataLabelImege = QtWidgets.QLabel(self)
        pixmap = GUIToolKit.getIconByName("greendot").pixmap(
            (QtCore.QSize(16, 16)))
        self.standardDataLabelImege.setPixmap(pixmap)
        self.horizontalLayout.addWidget(self.standardDataLabelImege)

        self.standardDataLabel = QtWidgets.QLabel(self)
        self.standardDataLabel.setObjectName("standardDataLabel")
        self.standardDataLabel.setText("Standard data")
        self.horizontalLayout.addWidget(self.standardDataLabel)

        self.extndedDataLabelImege = QtWidgets.QLabel(self)
        pixmap = GUIToolKit.getIconByName("orangedot").pixmap(
            (QtCore.QSize(16, 16)))
        self.extndedDataLabelImege.setPixmap(pixmap)
        self.horizontalLayout.addWidget(self.extndedDataLabelImege)

        self.extndedDataLabel = QtWidgets.QLabel(self)
        self.extndedDataLabel.setObjectName("standardDataLabel")
        self.extndedDataLabel.setText("Extended data")
        self.horizontalLayout.addWidget(self.extndedDataLabel)

        self.standardRTLabelImage = QtWidgets.QLabel(self)
        pixmap = GUIToolKit.getIconByName("bluedot").pixmap(
            (QtCore.QSize(16, 16)))
        self.standardRTLabelImage.setPixmap(pixmap)
        self.horizontalLayout.addWidget(self.standardRTLabelImage)

        self.standardRTRLabel = QtWidgets.QLabel(self)
        self.standardRTRLabel.setObjectName("standardRTRCheckBox")
        self.standardRTRLabel.setText("Standard RTR")
        self.horizontalLayout.addWidget(self.standardRTRLabel)

        self.extendedRTRLabelImege = QtWidgets.QLabel(self)
        pixmap = GUIToolKit.getIconByName("reddot").pixmap(
            (QtCore.QSize(16, 16)))
        self.extendedRTRLabelImege.setPixmap(pixmap)
        self.horizontalLayout.addWidget(self.extendedRTRLabelImege)

        self.extendedRTRLabel = QtWidgets.QLabel(self)
        self.extendedRTRLabel.setObjectName("standardRTRCheckBox")
        self.extendedRTRLabel.setText("Extended RTR")
        self.horizontalLayout.addWidget(self.extendedRTRLabel)

        spacerItem = QtWidgets.QSpacerItem(40, 20,
                                           QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem)

        self.label = QtWidgets.QLabel(self)
        self.label.setObjectName("label")
        self.label.setText("Display mode")
        self.horizontalLayout.addWidget(self.label)

        self.displayModeComboBox = QtWidgets.QComboBox(self)
        self.displayModeComboBox.setObjectName("displayModeComboBox")
        self.displayModeComboBox.addItem("Hexadecimal")
        self.displayModeComboBox.addItem("ASCII")
        self.displayModeComboBox.addItem("Binary")
        self.displayModeComboBox.currentTextChanged.connect(
            self.displayModeAction)
        self.horizontalLayout.addWidget(self.displayModeComboBox)

        self.tablesWidget = tablesWidget
示例#9
0
    def __init__(self, parent=None, sniffer=None):
        """Constructor for ToolsWidget"""
        super().__init__(parent)

        self.snifferDevice = sniffer

        self.repeatThread = CANMessengerDaemonSender()
        self.setObjectName("sendCANDatagramsWidget")
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self)
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")

        self.sendDatagramsWidget = QtWidgets.QWidget(self)
        self.sendDatagramsWidget.setObjectName("sendDatagramsWidget")
        self.gridLayout = QtWidgets.QGridLayout(self.sendDatagramsWidget)
        self.gridLayout.setObjectName("gridLayout")

        self.messageLabel = QtWidgets.QLabel(self.sendDatagramsWidget)
        self.messageLabel.setObjectName("messageLabel")
        self.gridLayout.addWidget(self.messageLabel, 0, 0, 1, 1)
        self.messageLabel.setText("ID ")

        self.messageIDEdit = self.ByteEditLine(self.sendDatagramsWidget)
        self.messageIDEdit.setObjectName("messageIDEdit")
        self.messageIDEdit.setValidator(QtGui.QIntValidator())
        self.messageIDEdit.setAlignment(QtCore.Qt.AlignCenter)
        self.messageIDEdit.setMaxLength(4)
        self.messageIDEdit.setText("0")
        self.messageIDEdit.setMinimumWidth(100)
        self.gridLayout.addWidget(self.messageIDEdit, 0, 1, 1, 2)

        self.byte0Label = QtWidgets.QLabel(self.sendDatagramsWidget)
        self.byte0Label.setObjectName("byte0Label")
        self.gridLayout.addWidget(self.byte0Label, 0, 4, 1, 1)

        self.byte4Label = QtWidgets.QLabel(self.sendDatagramsWidget)
        self.byte4Label.setObjectName("byte4Label")
        self.gridLayout.addWidget(self.byte4Label, 1, 4, 1, 1)

        self.spinBoxDLC = QtWidgets.QSpinBox(self.sendDatagramsWidget)
        self.spinBoxDLC.setObjectName("spinBoxDLC")
        self.spinBoxDLC.setValue(8)
        self.spinBoxDLC.valueChanged.connect(self.chabgedNumberOfDLC)
        self.gridLayout.addWidget(self.spinBoxDLC, 1, 1, 1, 2)

        self.spinBoxDLC.setAlignment(QtCore.Qt.AlignCenter)

        self.byte3Edit = self.ByteEditLine(self.sendDatagramsWidget)
        self.byte3Edit.setObjectName("byte3Edit")
        self.gridLayout.addWidget(self.byte3Edit, 0, 15, 1, 1)

        self.byte1Edit = self.ByteEditLine(self.sendDatagramsWidget)
        self.byte1Edit.setObjectName("byte1Edit")
        self.gridLayout.addWidget(self.byte1Edit, 0, 7, 1, 1)

        self.byte4Edit = self.ByteEditLine(self.sendDatagramsWidget)
        self.byte4Edit.setObjectName("byte4Edit")
        self.gridLayout.addWidget(self.byte4Edit, 1, 5, 1, 1)

        self.rtrCheckBox = QtWidgets.QCheckBox(self.sendDatagramsWidget)
        self.rtrCheckBox.setObjectName("rtrCheckBox")
        self.gridLayout.addWidget(self.rtrCheckBox, 1, 16, 1, 1)

        self.dlcLabel = QtWidgets.QLabel(self.sendDatagramsWidget)
        self.dlcLabel.setObjectName("dlcLabel")
        self.gridLayout.addWidget(self.dlcLabel, 1, 0, 1, 1)
        self.dlcLabel.setText("DLC")

        self.byte5Edit = self.ByteEditLine(self.sendDatagramsWidget)
        self.byte5Edit.setObjectName("byte5Edit")
        self.gridLayout.addWidget(self.byte5Edit, 1, 7, 1, 1)

        self.byte6Edit = self.ByteEditLine(self.sendDatagramsWidget)
        self.byte6Edit.setObjectName("byte7Edit")
        self.gridLayout.addWidget(self.byte6Edit, 1, 13, 1, 1)

        self.byte5Label = QtWidgets.QLabel(self.sendDatagramsWidget)
        self.byte5Label.setObjectName("byte5Label")
        self.gridLayout.addWidget(self.byte5Label, 1, 6, 1, 1)

        self.byte1Label = QtWidgets.QLabel(self.sendDatagramsWidget)
        self.byte1Label.setObjectName("byte1Label")
        self.gridLayout.addWidget(self.byte1Label, 0, 6, 1, 1)

        self.byte6Label = QtWidgets.QLabel(self.sendDatagramsWidget)
        self.byte6Label.setObjectName("byte6Label")
        self.gridLayout.addWidget(self.byte6Label, 1, 8, 1, 1)

        self.byte2Label = QtWidgets.QLabel(self.sendDatagramsWidget)
        self.byte2Label.setObjectName("byte2Label")
        self.gridLayout.addWidget(self.byte2Label, 0, 8, 1, 1)

        self.byte2Edit = self.ByteEditLine(self.sendDatagramsWidget)
        self.byte2Edit.setObjectName("byte2Edit")
        self.gridLayout.addWidget(self.byte2Edit, 0, 13, 1, 1)

        self.byte0Edit = self.ByteEditLine(self.sendDatagramsWidget)
        self.byte0Edit.setObjectName("byte0Edit")
        self.gridLayout.addWidget(self.byte0Edit, 0, 5, 1, 1)

        self.byte7Edit = self.ByteEditLine(self.sendDatagramsWidget)
        self.byte7Edit.setObjectName("byte7Edit")
        self.gridLayout.addWidget(self.byte7Edit, 1, 15, 1, 1)

        self.extendedCheckBox = QtWidgets.QCheckBox(self.sendDatagramsWidget)
        self.extendedCheckBox.setObjectName("extendedCheckBox")
        self.gridLayout.addWidget(self.extendedCheckBox, 0, 16, 1, 1)
        self.extendedCheckBox.stateChanged.connect(self.updateMessageEditMode)

        self.byte3Label = QtWidgets.QLabel(self.sendDatagramsWidget)
        self.byte3Label.setObjectName("byte3Label")
        self.gridLayout.addWidget(self.byte3Label, 0, 14, 1, 1)

        self.byte7Label = QtWidgets.QLabel(self.sendDatagramsWidget)
        self.byte7Label.setObjectName("byte7Label")
        self.gridLayout.addWidget(self.byte7Label, 1, 14, 1, 1)

        self.horizontalLayout_2.addWidget(self.sendDatagramsWidget)

        self.senControlWidget = QtWidgets.QWidget(self)
        self.senControlWidget.setObjectName("senControlWidget")

        self.gridLayout_2 = QtWidgets.QGridLayout(self.senControlWidget)
        self.gridLayout_2.setObjectName("gridLayout_2")

        self.periodEdit = QtWidgets.QLineEdit(self.senControlWidget)
        self.periodEdit.setObjectName("periodEdit")
        self.periodEdit.setMinimumWidth(75)
        self.periodEdit.setText("100")
        self.periodEdit.setValidator(QtGui.QIntValidator())
        self.periodEdit.setAlignment(QtCore.Qt.AlignCenter)
        self.periodEdit.setEnabled(False)
        self.gridLayout_2.addWidget(self.periodEdit, 0, 1, 1, 1)

        self.repeatCheckBox = QtWidgets.QCheckBox(self.senControlWidget)
        self.repeatCheckBox.setObjectName("repeatCheckBox")
        self.gridLayout_2.addWidget(self.repeatCheckBox, 0, 0, 1, 1)
        self.periodEdit.setEnabled(False)

        self.msLabel = QtWidgets.QLabel(self.senControlWidget)
        self.msLabel.setObjectName("msLabel")
        self.msLabel.setEnabled(False)
        self.gridLayout_2.addWidget(self.msLabel, 0, 2, 1, 1)

        self.sendStartStopButton = QtWidgets.QPushButton(self.senControlWidget)
        self.sendStartStopButton.setObjectName("sendStartStopButton")
        self.sendStartStopButton.setIcon(GUIToolKit.getIconByName("send"))
        self.sendStartStopButton.clicked.connect(self.sendStartStopAction)
        self.gridLayout_2.addWidget(self.sendStartStopButton, 1, 0, 1, 3)

        self.horizontalLayout_2.addWidget(self.senControlWidget)

        self.byte0Label.setText("Byte 0")
        self.byte4Label.setText("Byte 4")
        self.byte3Label.setText("Byte 3")
        self.byte7Label.setText("Byte 7")
        self.rtrCheckBox.setText("RTR")
        self.byte5Label.setText("Byte 5")
        self.byte1Label.setText("Byte 1")
        self.byte6Label.setText("Byte 6")
        self.byte2Label.setText("Byte 2")

        self.extendedCheckBox.setText("Extended")

        self.repeatCheckBox.setText("Repeat")
        self.msLabel.setText("ms")
        self.sendStartStopButton.setText("Send")

        self.repeatCheckBox.stateChanged.connect(self.reapetChecked)

        self.sendLoopActive = False

        self.setTitle("Send datagrams")

        self.dataByteLineEditList = [
            self.byte0Edit,
            self.byte1Edit,
            self.byte2Edit,
            self.byte3Edit,
            self.byte4Edit,
            self.byte5Edit,
            self.byte6Edit,
            self.byte7Edit,
        ]
        self.dataByteLabelList = [
            self.byte0Label,
            self.byte1Label,
            self.byte2Label,
            self.byte3Label,
            self.byte4Label,
            self.byte5Label,
            self.byte6Label,
            self.byte7Label,
        ]
        font = QtGui.QGuiApplication.font()
        font.setCapitalization(QtGui.QFont.AllUppercase)
        hexValidator = QtGui.QRegExpValidator(
            QtCore.QRegExp("(?:[0-9a-fA-F]{2},)*[0-9a-fA-F]{0,2}"))

        for edit in self.dataByteLineEditList:
            edit.setValidator(hexValidator)
            edit.setFont(font)
            edit.setAlignment(QtCore.Qt.AlignCenter)

        self.repeatThread.senDatagramSignal.connect(self.sendDatagram)
        self.rtrCheckBox.clicked.connect(self.rtrAction)
        self.setEnabled(False)
示例#10
0
 def getTabIcon(self):
     return GUIToolKit.getIconByName("canbus")