当前位置: 首页>>代码示例>>Python>>正文


Python QAction.trigger方法代码示例

本文整理汇总了Python中PyQt5.QtWidgets.QAction.trigger方法的典型用法代码示例。如果您正苦于以下问题:Python QAction.trigger方法的具体用法?Python QAction.trigger怎么用?Python QAction.trigger使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PyQt5.QtWidgets.QAction的用法示例。


在下文中一共展示了QAction.trigger方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: COMCUPluginBase

# 需要导入模块: from PyQt5.QtWidgets import QAction [as 别名]
# 或者: from PyQt5.QtWidgets.QAction import trigger [as 别名]
class COMCUPluginBase(PluginBase):
    def __init__(self, device_class, ipcon, device_info, override_base_name=None):
        super().__init__(device_class, ipcon, device_info, override_base_name)

        self.start_called = False
        self.has_comcu = True
        self.cbe_bootloader_mode = CallbackEmulator(self.device.get_bootloader_mode,
                                                    None,
                                                    self.cb_bootloader_mode,
                                                    self.increase_error_count)

        self.status_led_off_action = QAction('Off', self)
        self.status_led_off_action.triggered.connect(lambda: self.device.set_status_led_config(device_class.STATUS_LED_CONFIG_OFF))
        self.status_led_on_action = QAction('On', self)
        self.status_led_on_action.triggered.connect(lambda: self.device.set_status_led_config(device_class.STATUS_LED_CONFIG_ON))
        self.status_led_show_heartbeat_action = QAction('Show Heartbeat', self)
        self.status_led_show_heartbeat_action.triggered.connect(lambda: self.device.set_status_led_config(device_class.STATUS_LED_CONFIG_SHOW_HEARTBEAT))
        self.status_led_show_status_action = QAction('Show Status', self)
        self.status_led_show_status_action.triggered.connect(lambda: self.device.set_status_led_config(device_class.STATUS_LED_CONFIG_SHOW_STATUS))

        self.extra_configs = [(0, 'Status LED:', [self.status_led_off_action,
                                                  self.status_led_on_action,
                                                  self.status_led_show_heartbeat_action,
                                                  self.status_led_show_status_action])]

        self.reset_action = QAction('Reset', self)
        self.reset_action.triggered.connect(self.remove_and_reset)

        self.extra_actions = [(0, None, [self.reset_action])]

    def remove_and_reset(self):
        get_main_window().remove_device_tab(self.uid)
        self.device.reset()

    # overrides PluginBase.get_configs
    def get_configs(self):
        return PluginBase.get_configs(self) + self.extra_configs

    # overrides PluginBase.get_actions
    def get_actions(self):
        return PluginBase.get_actions(self) + self.extra_actions

    def get_status_led_config_async(self, config):
        if config == self.device_class.STATUS_LED_CONFIG_OFF:
            self.status_led_off_action.trigger()
        elif config == self.device_class.STATUS_LED_CONFIG_ON:
            self.status_led_on_action.trigger()
        elif config == self.device_class.STATUS_LED_CONFIG_SHOW_HEARTBEAT:
            self.status_led_show_heartbeat_action.trigger()
        elif config == self.device_class.STATUS_LED_CONFIG_SHOW_STATUS:
            self.status_led_show_status_action.trigger()

    def cb_bootloader_mode(self, mode):
        if not self.start_called and mode == self.device.BOOTLOADER_MODE_FIRMWARE and self.isVisible():
            async_call(self.device.get_status_led_config, None, self.get_status_led_config_async, self.increase_error_count)
            self.start_called = True
            self.start()
        elif mode == self.device.BOOTLOADER_MODE_BOOTLOADER and self.isVisible():
            self.stop()
            self.hide()
            self.widget_bootloader.show()
        elif mode == self.device.BOOTLOADER_MODE_FIRMWARE and not self.isVisible():
            self.widget_bootloader.hide()
            self.show()
            async_call(self.device.get_status_led_config, None, self.get_status_led_config_async, self.increase_error_count)
            self.start_called = True
            self.start()

    def start_comcu(self):
        self.start_called = False
        self.cbe_bootloader_mode.set_period(1000)

    def stop_comcu(self):
        self.cbe_bootloader_mode.set_period(0)
        self.stop()
开发者ID:Tinkerforge,项目名称:brickv,代码行数:77,代码来源:comcu_plugin_base.py

示例2: ObjectView

# 需要导入模块: from PyQt5.QtWidgets import QAction [as 别名]
# 或者: from PyQt5.QtWidgets.QAction import trigger [as 别名]
class ObjectView(QListView):
    """Shows cropped object images either in a grid or expanded
    """
    def __init__(self, parent=None):
        super(ObjectView, self).__init__(parent)

        # Items are shown either in a grid or with a single item expanded
        # When more than one item is selected, view changes to grid.

        self.setItemDelegate(CropDelegate(self))
        self.setFlow(self.LeftToRight)
        self.setWrapping(True)
        self.setResizeMode(self.Adjust)
        self.setSelectionMode(QAbstractItemView.ExtendedSelection)

        # Activating an item toggles the expanded state
        self.activated.connect(self.toggle_expanded)

        colour_scheme_choice().colour_scheme_changed.connect(self.colour_scheme_changed)

        self._create_actions()

    def _create_actions(self):
        group = QActionGroup(self)
        self.grid_action = QAction(
            '&Grid', self, shortcut='ctrl+G', triggered=self.show_grid,
            checkable=True, icon=load_icon(':/icons/show_grid.png')
        )
        self.grid_action.setChecked(True)
        group.addAction(self.grid_action)
        self.expanded_action = QAction(
            '&Expanded', self, shortcut='ctrl+E', triggered=self.show_expanded,
            checkable=True, icon=load_icon(':/icons/show_expanded.png')
        )
        group.addAction(self.expanded_action)

    def colour_scheme_changed(self):
        """Slot for colour_scheme_changed signal
        """
        self.update()

    def selectionChanged(self, selected, deselected):
        """QAbstractItemView slot
        """
        debug_print('ObjectView.selectionChanged')

        # Grid view unless exactly one item selected
        if (self.expanded_action.isChecked() and
                1 != len(self.selectionModel().selectedIndexes())):
            self.grid_action.trigger()

        super(ObjectView, self).selectionChanged(selected, deselected)

    def show_grid(self, checked=False):
        """Shows the list as a grid of squares
        """
        debug_print('ObjectView.show_grid')
        self._refresh()

    def show_expanded(self, checked=False):
        """Shows the first item of the selection expanded to fill the viewport.
        If the selection is empty, the first item in the list is selected.
        """
        debug_print('ObjectView.show_expanded')

        # Select a single item
        sm = self.selectionModel()
        selected = sm.selectedIndexes()
        if len(selected) > 1:
            sm.select(selected[0], QItemSelectionModel.ClearAndSelect)
        elif not selected:
            sm.select(self.model().index(0, 0), QItemSelectionModel.Select)

        self._refresh()

    def toggle_expanded(self, index):
        """Selects 'index' and toggles the expanded state
        """
        debug_print('ObjectView.toggle_expanded')
        self.selectionModel().select(index, QItemSelectionModel.Select)
        if self.expanded_action.isChecked():
            self.grid_action.trigger()
        else:
            self.expanded_action.trigger()

    def _refresh(self):
        debug_print('ObjectView._refresh')
        self.scheduleDelayedItemsLayout()
        selected = self.selectionModel().selectedIndexes()
        if selected:
            self.scrollTo(selected[0])

    def keyPressEvent(self, event):
        """QAbstractItemView virtual
        """
        if event.key() in (Qt.Key_Return, Qt.Key_Enter):
            # This logic reimplemented from QAbstractItemView::keyPressEvent,
            # in src/gui/itemviews/qabstractitemview.cpp - make 'Enter' and
            # 'Return' keys toggle the 'Expanded' / 'Grid' state on Mac OS X
            if self.state() != QListView.EditingState or self.hasFocus():
#.........这里部分代码省略.........
开发者ID:NaturalHistoryMuseum,项目名称:inselect,代码行数:103,代码来源:object.py

示例3: DMX

# 需要导入模块: from PyQt5.QtWidgets import QAction [as 别名]
# 或者: from PyQt5.QtWidgets.QAction import trigger [as 别名]
class DMX(COMCUPluginBase, Ui_DMX):
    qtcb_frame_started = pyqtSignal()
    qtcb_frame = pyqtSignal(object, int)

    def __init__(self, *args):
        COMCUPluginBase.__init__(self, BrickletDMX, *args)

        self.setupUi(self)

        self.dmx = self.device

        self.wait_for_first_read = True

        self.dmx_overview = DMXOverview(self)
        self.layout_dmx_overview.insertWidget(1, self.dmx_overview)

        self.qtcb_frame_started.connect(self.cb_frame_started)
        self.qtcb_frame.connect(self.cb_frame)

        self.mode_combobox.currentIndexChanged.connect(self.mode_changed)
        self.frame_duration_spinbox.valueChanged.connect(self.frame_duration_changed)

        self.address_spinboxes = []
        self.address_slider = []

        for i in range(512):
            spinbox = QSpinBox()
            spinbox.setMinimum(0)
            spinbox.setMaximum(255)

            slider = QSlider(Qt.Horizontal)
            slider.setMinimum(0)
            slider.setMaximum(255)

            spinbox.valueChanged.connect(slider.setValue)
            slider.valueChanged.connect(spinbox.setValue)

            def get_frame_value_changed_func(i):
                return lambda x: self.frame_value_changed(i, x)
            slider.valueChanged.connect(get_frame_value_changed_func(i))

            self.address_table.setCellWidget(i, 0, spinbox)
            self.address_table.setCellWidget(i, 1, slider)

            self.address_spinboxes.append(spinbox)
            self.address_slider.append(slider)


        self.address_table.horizontalHeader().setStretchLastSection(True)
        self.address_table.show()

        self.current_frame = [0]*512

        self.com_led_off_action = QAction('Off', self)
        self.com_led_off_action.triggered.connect(lambda: self.dmx.set_communication_led_config(BrickletDMX.COMMUNICATION_LED_CONFIG_OFF))
        self.com_led_on_action = QAction('On', self)
        self.com_led_on_action.triggered.connect(lambda: self.dmx.set_communication_led_config(BrickletDMX.COMMUNICATION_LED_CONFIG_ON))
        self.com_led_show_heartbeat_action = QAction('Show Heartbeat', self)
        self.com_led_show_heartbeat_action.triggered.connect(lambda: self.dmx.set_communication_led_config(BrickletDMX.COMMUNICATION_LED_CONFIG_SHOW_HEARTBEAT))
        self.com_led_show_communication_action = QAction('Show Com', self)
        self.com_led_show_communication_action.triggered.connect(lambda: self.dmx.set_communication_led_config(BrickletDMX.COMMUNICATION_LED_CONFIG_SHOW_COMMUNICATION))

        self.extra_configs += [(1, 'Com LED:', [self.com_led_off_action,
                                                self.com_led_on_action,
                                                self.com_led_show_heartbeat_action,
                                                self.com_led_show_communication_action])]

        self.error_led_off_action = QAction('Off', self)
        self.error_led_off_action.triggered.connect(lambda: self.dmx.set_error_led_config(BrickletDMX.ERROR_LED_CONFIG_OFF))
        self.error_led_on_action = QAction('On', self)
        self.error_led_on_action.triggered.connect(lambda: self.dmx.set_error_led_config(BrickletDMX.ERROR_LED_CONFIG_ON))
        self.error_led_show_heartbeat_action = QAction('Show Heartbeat', self)
        self.error_led_show_heartbeat_action.triggered.connect(lambda: self.dmx.set_error_led_config(BrickletDMX.ERROR_LED_CONFIG_SHOW_HEARTBEAT))
        self.error_led_show_error_action = QAction('Show Error', self)
        self.error_led_show_error_action.triggered.connect(lambda: self.dmx.set_error_led_config(BrickletDMX.ERROR_LED_CONFIG_SHOW_ERROR))

        self.extra_configs += [(1, 'Error LED:', [self.error_led_off_action,
                                                  self.error_led_on_action,
                                                  self.error_led_show_heartbeat_action,
                                                  self.error_led_show_error_action])]

    def frame_value_changed(self, line, value):
        self.current_frame[line] = value
        self.dmx_overview.draw_line(line, value, None, True)

    def mode_changed(self, index, update=True):
        if index == 0:
            for spinbox in self.address_spinboxes:
                spinbox.setReadOnly(False)
            for slider in self.address_slider:
                slider.setEnabled(True)

            self.frame_duration_label.setVisible(True)
            self.frame_duration_unit.setVisible(True)
            self.frame_duration_spinbox.setVisible(True)
        else:
            for spinbox in self.address_spinboxes:
                spinbox.setReadOnly(True)
            for slider in self.address_slider:
                slider.setEnabled(False)
#.........这里部分代码省略.........
开发者ID:Tinkerforge,项目名称:brickv,代码行数:103,代码来源:dmx.py

示例4: GPSV2

# 需要导入模块: from PyQt5.QtWidgets import QAction [as 别名]
# 或者: from PyQt5.QtWidgets.QAction import trigger [as 别名]
class GPSV2(COMCUPluginBase, Ui_GPSV2):
    qtcb_pps = pyqtSignal()

    def __init__(self, *args):
        COMCUPluginBase.__init__(self, BrickletGPSV2, *args)

        self.setupUi(self)

        self.gps = self.device

        self.cbe_universal = CallbackEmulator(self.get_universal,
                                              None,
                                              self.cb_universal,
                                              self.increase_error_count)

        self.cbe_universal_gps = CallbackEmulator(self.get_universal_gps,
                                                  None,
                                                  self.cb_universal_gps,
                                                  self.increase_error_count)

        self.cbe_universal_glo = CallbackEmulator(self.get_universal_glo,
                                                  None,
                                                  self.cb_universal_glo,
                                                  self.increase_error_count)

        self.qtcb_pps.connect(self.cb_pps)
        self.gps.register_callback(self.gps.CALLBACK_PULSE_PER_SECOND, self.qtcb_pps.emit)

        self.format_combobox.currentIndexChanged.connect(self.format_changed)
        self.show_pos.clicked.connect(self.show_pos_clicked)
        self.hot_start.clicked.connect(lambda: self.restart_clicked(0))
        self.warm_start.clicked.connect(lambda: self.restart_clicked(1))
        self.cold_start.clicked.connect(lambda: self.restart_clicked(2))
        self.factory_reset.clicked.connect(lambda: self.restart_clicked(3))

        self.had_fix = False

        self.last_lat = 0
        self.last_ns = 'U'
        self.last_long = 0
        self.last_ew = 'U'

        self.gps_counter = 0
        self.glo_counter = 0

        self.gps_model = QStandardItemModel(32, 3, self)
        self.gps_table.setModel(self.gps_model)
        self.gps_model.setHorizontalHeaderItem(0, QStandardItem('Elevation (°)'))
        self.gps_model.setHorizontalHeaderItem(1, QStandardItem('Azimuth (°)'))
        self.gps_model.setHorizontalHeaderItem(2, QStandardItem('SNR (dB)'))
        for i in range(32):
            self.gps_model.setVerticalHeaderItem(i, QStandardItem('Sat ' + str(i+1)))
        self.gps_table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)

        self.glo_model = QStandardItemModel(32, 3, self)
        self.glo_table.setModel(self.glo_model)
        self.glo_model.setHorizontalHeaderItem(0, QStandardItem('Elevation (°)'))
        self.glo_model.setHorizontalHeaderItem(1, QStandardItem('Azimuth (°)'))
        self.glo_model.setHorizontalHeaderItem(2, QStandardItem('SNR (dB)'))
        for i in range(32):
            self.glo_model.setVerticalHeaderItem(i, QStandardItem('Sat ' + str(i+1+64)))
        self.glo_table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)

        self.fix_led_off_action = QAction('Off', self)
        self.fix_led_off_action.triggered.connect(lambda: self.gps.set_fix_led_config(BrickletGPSV2.FIX_LED_CONFIG_OFF))
        self.fix_led_on_action = QAction('On', self)
        self.fix_led_on_action.triggered.connect(lambda: self.gps.set_fix_led_config(BrickletGPSV2.FIX_LED_CONFIG_ON))
        self.fix_led_show_heartbeat_action = QAction('Show Heartbeat', self)
        self.fix_led_show_heartbeat_action.triggered.connect(lambda: self.gps.set_fix_led_config(BrickletGPSV2.FIX_LED_CONFIG_SHOW_HEARTBEAT))
        self.fix_led_show_fix_action = QAction('Show Fix', self)
        self.fix_led_show_fix_action.triggered.connect(lambda: self.gps.set_fix_led_config(BrickletGPSV2.FIX_LED_CONFIG_SHOW_FIX))
        self.fix_led_show_pps_action = QAction('Show PPS', self)
        self.fix_led_show_pps_action.triggered.connect(lambda: self.gps.set_fix_led_config(BrickletGPSV2.FIX_LED_CONFIG_SHOW_PPS))

        self.extra_configs += [(1, 'Fix LED:', [self.fix_led_off_action,
                                                self.fix_led_on_action,
                                                self.fix_led_show_heartbeat_action,
                                                self.fix_led_show_fix_action,
                                                self.fix_led_show_pps_action])]

    def cb_pps(self):
        self.fix.setStyleSheet("QLabel { color : green; }")
        QTimer.singleShot(200, self.cb_pps_off)

    def cb_pps_off(self):
        self.fix.setStyleSheet("")

    def get_universal(self):
        return self.gps.get_coordinates(), self.gps.get_status(), self.gps.get_altitude(), self.gps.get_motion(), self.gps.get_date_time()

    def get_universal_gps(self):
        counter = self.gps_counter
        self.gps_counter = (self.gps_counter + 1) % 33

        if counter == 0:
            return counter, self.gps.get_satellite_system_status(self.gps.SATELLITE_SYSTEM_GPS)
        else:
            return counter, self.gps.get_satellite_status(self.gps.SATELLITE_SYSTEM_GPS, counter)

    def get_universal_glo(self):
#.........这里部分代码省略.........
开发者ID:Tinkerforge,项目名称:brickv,代码行数:103,代码来源:gps_v2.py

示例5: SimulationGui

# 需要导入模块: from PyQt5.QtWidgets import QAction [as 别名]
# 或者: from PyQt5.QtWidgets.QAction import trigger [as 别名]

#.........这里部分代码省略.........
                    # vtk window
                    self.animationFrame = QFrame()
                    self.vtkWidget = QVTKRenderWindowInteractor(
                        self.animationFrame)
                    self.animationLayout.addWidget(self.vtkWidget)
                    self.animationFrame.setLayout(self.animationLayout)
                    self.animationDock.addWidget(self.animationFrame)
                    self.vtk_renderer = vtkRenderer()
                    self.vtkWidget.GetRenderWindow().AddRenderer(
                        self.vtk_renderer)
                    self.visualizer = available_vis[0][0](self.vtk_renderer)
                    self.vtkWidget.Initialize()
                else:
                    self._logger.warning("visualizer depends on vtk which is "
                                         "not available on this system!")
            elif available_vis:
                raise NotImplementedError
        else:
            self.visualizer = None

        # regime window
        self.regime_list = QListWidget(self)
        self.regime_list.setSelectionMode(QAbstractItemView.ExtendedSelection)
        self.regimeDock.addWidget(self.regime_list)
        self.regime_list.itemDoubleClicked.connect(self.regime_dclicked)
        self._regimes = []
        self.regime_file_name = ""

        self.actDeleteRegimes = QAction(self.regime_list)
        self.actDeleteRegimes.setText("&Delete Selected Regimes")
        # TODO shortcut works always, not only with focus on the regime list
        # self.actDeleteRegimes.setShortcutContext(Qt.WindowShortcut)
        self.actDeleteRegimes.setShortcut(QKeySequence(Qt.Key_Delete))
        self.actDeleteRegimes.triggered.connect(self.remove_regime_items)

        self.actSave = QAction(self)
        self.actSave.setText('Save Results As')
        self.actSave.setIcon(QIcon(get_resource("save.png")))
        self.actSave.setDisabled(True)
        self.actSave.setShortcut(QKeySequence.Save)
        self.actSave.triggered.connect(self.export_simulation_data)

        self.actLoadRegimes = QAction(self)
        self.actLoadRegimes.setText("Load Regimes from File")
        self.actLoadRegimes.setIcon(QIcon(get_resource("load.png")))
        self.actLoadRegimes.setDisabled(False)
        self.actLoadRegimes.setShortcut(QKeySequence.Open)
        self.actLoadRegimes.triggered.connect(self.load_regime_dialog)

        self.actExitOnBatchCompletion = QAction(self)
        self.actExitOnBatchCompletion.setText("&Exit On Batch Completion")
        self.actExitOnBatchCompletion.setCheckable(True)
        self.actExitOnBatchCompletion.setChecked(
            self._settings.value("control/exit_on_batch_completion") == "True"
        )
        self.actExitOnBatchCompletion.changed.connect(
            self.update_exit_on_batch_completion_setting)

        # regime management
        self.runningBatch = False
        self._current_regime_index = None
        self._current_regime_name = None
        self._regimes = []

        self.regimeFinished.connect(self.run_next_regime)
        self.finishedRegimeBatch.connect(self.regime_batch_finished)
开发者ID:BerndHeufelder,项目名称:pymoskito,代码行数:70,代码来源:simulation_gui.py

示例6: CANV2

# 需要导入模块: from PyQt5.QtWidgets import QAction [as 别名]
# 或者: from PyQt5.QtWidgets.QAction import trigger [as 别名]
class CANV2(COMCUPluginBase, Ui_CANV2):
    qtcb_frame_read = pyqtSignal(int, int, object)

    def __init__(self, *args):
        COMCUPluginBase.__init__(self, BrickletCANV2, *args)

        self.setupUi(self)

        self.can = self.device

        self.qtcb_frame_read.connect(self.cb_frame_read)
        self.can.register_callback(self.can.CALLBACK_FRAME_READ,
                                   self.qtcb_frame_read.emit)

        self.last_filename = os.path.join(get_home_path(), 'can_bricklet_v2_history.log')

        self.frame_read_callback_was_enabled = None

        self.tree_frames.header().resizeSection(0, 150)
        self.tree_frames.header().resizeSection(1, 170)
        self.tree_frames.header().resizeSection(2, 300)
        self.tree_frames.header().resizeSection(3, 100)

        self.edit_data.setValidator(HexValidator(max_bytes=8))

        self.combo_frame_type.currentIndexChanged.connect(self.frame_type_changed)
        self.spin_baud_rate.valueChanged.connect(self.transceiver_configuration_changed)
        self.spin_sample_point.valueChanged.connect(self.transceiver_configuration_changed)
        self.combo_transceiver_mode.currentIndexChanged.connect(self.transceiver_configuration_changed)

        self.spin_write_buffer_size.valueChanged.connect(self.queue_configuration_changed)
        self.spin_write_buffer_timeout.valueChanged.connect(self.queue_configuration_changed)
        self.spin_write_backlog_size.valueChanged.connect(self.queue_configuration_changed)
        self.edit_read_buffer_sizes.textEdited.connect(self.queue_configuration_changed)
        self.spin_read_backlog_size.valueChanged.connect(self.queue_configuration_changed)

        for i in range(32):
            self.combo_filter_buffer.addItem(str(i))

        self.combo_filter_buffer.currentIndexChanged.connect(self.read_filter_buffer_changed)
        self.combo_filter_mode.currentIndexChanged.connect(self.read_filter_mode_changed)
        self.spin_filter_mask.valueChanged.connect(self.read_filter_configuration_changed)
        self.spin_filter_identifier.valueChanged.connect(self.read_filter_configuration_changed)

        self.button_write_frame.clicked.connect(self.write_frame)
        self.button_clear_history.clicked.connect(self.tree_frames.clear)
        self.button_save_history.clicked.connect(self.save_history)
        self.button_save_transceiver_configuration.clicked.connect(self.save_transceiver_configuration)
        self.button_reset_transceiver_configuration.clicked.connect(self.reset_transceiver_configuration)
        self.button_save_queue_configuration.clicked.connect(self.save_queue_configuration)
        self.button_reset_queue_configuration.clicked.connect(self.reset_queue_configuration)
        self.button_save_read_filter_configuration.clicked.connect(self.save_read_filter_configuration)
        self.button_reset_read_filter_configuration.clicked.connect(self.reset_read_filter_configuration)

        self.error_log_timer = QTimer(self)
        self.error_log_timer.timeout.connect(self.update_error_log)
        self.error_log_timer.setInterval(1000)

        self.frame_type_changed()
        self.read_filter_buffer_changed()
        self.read_filter_mode_changed()
        self.read_filter_configuration_changed()

        self.com_led_off_action = QAction('Off', self)
        self.com_led_off_action.triggered.connect(lambda: self.can.set_communication_led_config(BrickletCANV2.COMMUNICATION_LED_CONFIG_OFF))
        self.com_led_on_action = QAction('On', self)
        self.com_led_on_action.triggered.connect(lambda: self.can.set_communication_led_config(BrickletCANV2.COMMUNICATION_LED_CONFIG_ON))
        self.com_led_show_heartbeat_action = QAction('Show Heartbeat', self)
        self.com_led_show_heartbeat_action.triggered.connect(lambda: self.can.set_communication_led_config(BrickletCANV2.COMMUNICATION_LED_CONFIG_SHOW_HEARTBEAT))
        self.com_led_show_communication_action = QAction('Show Com', self)
        self.com_led_show_communication_action.triggered.connect(lambda: self.can.set_communication_led_config(BrickletCANV2.COMMUNICATION_LED_CONFIG_SHOW_COMMUNICATION))

        self.extra_configs += [(1, 'Com LED:', [self.com_led_off_action,
                                                self.com_led_on_action,
                                                self.com_led_show_heartbeat_action,
                                                self.com_led_show_communication_action])]

        self.error_led_off_action = QAction('Off', self)
        self.error_led_off_action.triggered.connect(lambda: self.can.set_error_led_config(BrickletCANV2.ERROR_LED_CONFIG_OFF))
        self.error_led_on_action = QAction('On', self)
        self.error_led_on_action.triggered.connect(lambda: self.can.set_error_led_config(BrickletCANV2.ERROR_LED_CONFIG_ON))
        self.error_led_show_heartbeat_action = QAction('Show Heartbeat', self)
        self.error_led_show_heartbeat_action.triggered.connect(lambda: self.can.set_error_led_config(BrickletCANV2.ERROR_LED_CONFIG_SHOW_HEARTBEAT))
        self.error_led_show_transceiver_state_action = QAction('Show Transceiver State', self)
        self.error_led_show_transceiver_state_action.triggered.connect(lambda: self.can.set_error_led_config(BrickletCANV2.ERROR_LED_CONFIG_SHOW_TRANSCEIVER_STATE))
        self.error_led_show_error_action = QAction('Show Error', self)
        self.error_led_show_error_action.triggered.connect(lambda: self.can.set_error_led_config(BrickletCANV2.ERROR_LED_CONFIG_SHOW_ERROR))

        self.extra_configs += [(1, 'Error LED:', [self.error_led_off_action,
                                                  self.error_led_on_action,
                                                  self.error_led_show_heartbeat_action,
                                                  self.error_led_show_transceiver_state_action,
                                                  self.error_led_show_error_action])]

    def start(self):
        self.frame_read_callback_was_enabled = None

        async_call(self.can.get_frame_read_callback_configuration, None, self.get_frame_read_callback_configuration_async, self.increase_error_count)
        async_call(self.can.get_communication_led_config, None, self.get_communication_led_config_async, self.increase_error_count)
        async_call(self.can.get_error_led_config, None, self.get_error_led_config_async, self.increase_error_count)
#.........这里部分代码省略.........
开发者ID:Tinkerforge,项目名称:brickv,代码行数:103,代码来源:can_v2.py


注:本文中的PyQt5.QtWidgets.QAction.trigger方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。