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


Python QComboBox.blockSignals方法代码示例

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


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

示例1: add_row

# 需要导入模块: from qtpy.QtWidgets import QComboBox [as 别名]
# 或者: from qtpy.QtWidgets.QComboBox import blockSignals [as 别名]
    def add_row(self, row=-1):
        """this add a default row to the table that takes care
        of the rules"""
        _random_key = generate_random_key()

        _list_ui_for_this_row = {}
        _list_ui_to_unlock = []

        self.table_ui.insertRow(row)
        self.table_ui.setRowHeight(row, self.row_height)

        # key
        _item = QTableWidgetItem("{}".format(_random_key))
        self.table_ui.setItem(row, 0, _item)

        # rule #
        _rule_name = self.define_unique_rule_name(row)
        _item = QTableWidgetItem("{}".format(_rule_name))
        _item.setFlags(QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsSelectable)
        self.table_ui.setItem(row, 1, _item)

        # search argument
        _widget = QComboBox()
        _list_ui_for_this_row['list_items'] = _widget
        list_items = LIST_SEARCH_CRITERIA[self.parent.parent.instrument['short_name'].lower()]
        _widget.addItems(list_items)
        self.table_ui.setCellWidget(row, 2, _widget)
        _widget.blockSignals(True)
        _list_ui_to_unlock.append(_widget)
        _widget.currentIndexChanged.connect(lambda value=list_items[0],
                                            key = _random_key:
                                            self.parent.list_item_changed(value, key))

        # criteria
        list_criteria = ['is', 'contains']
        _widget = QComboBox()
        _list_ui_for_this_row['list_criteria'] = _widget
        _widget.addItems(list_criteria)
        self.table_ui.setCellWidget(row, 3, _widget)
        _widget.blockSignals(True)
        _list_ui_to_unlock.append(_widget)
        _widget.currentIndexChanged.connect(lambda value=list_criteria[0],
                                            key = _random_key:
                                            self.parent.list_criteria_changed(value, key))

        # argument
        _widget = QComboBox()
        _widget.setEditable(True)
        _list_ui_for_this_row['list_items_value'] = _widget
        list_values = list(self.parent.metadata['Chemical Formula'])
        _widget.addItems(list_values)
        self.table_ui.setCellWidget(row, 4, _widget)
        _widget.blockSignals(True)
        _list_ui_to_unlock.append(_widget)
        _widget.editTextChanged.connect(lambda value=list_values[0],
                                        key = _random_key:
                                        self.parent.list_argument_changed(value, key))
        _widget.currentIndexChanged.connect(lambda value=list_values[0],
                                            key = _random_key:
                                            self.parent.list_argument_index_changed(value, key))

        if row == 0:
            self.table_ui.horizontalHeader().setVisible(True)

        unlock_signals_ui(list_ui=_list_ui_to_unlock)

        self.parent.list_ui[_random_key] = _list_ui_for_this_row
        self.parent.check_all_filter_widgets()
开发者ID:neutrons,项目名称:FastGR,代码行数:70,代码来源:table_widget_rule_handler.py

示例2: add_row

# 需要导入模块: from qtpy.QtWidgets import QComboBox [as 别名]
# 或者: from qtpy.QtWidgets.QComboBox import blockSignals [as 别名]
    def add_row(self, row=-1, check_new_row=False):
        self.ui.tableWidget.insertRow(row)
        list_of_widgets_to_unlock = []

        # group name
        _column = 0
        _group_name = self.define_unique_group_name(row)
        _item = QTableWidgetItem(_group_name)
        _item.setFlags(QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsSelectable)
        self.ui.tableWidget.setItem(row, _column, _item)

        # group to group rule
        list_options = ["and", "or"]
        _column += 1
        if row > 0:
            _widget = QComboBox()
            _widget.addItems(list_options)
            self.ui.tableWidget.setCellWidget(row, _column, _widget)
            _widget.blockSignals(True)
            list_of_widgets_to_unlock.append(_widget)
            _widget.currentIndexChanged.connect(lambda value=list_options[0]:
                                                self.combobox_changed(value))

        else:
            _item = QTableWidgetItem("N/A")
            _item.setFlags(QtCore.Qt.ItemIsEnabled)
            self.ui.tableWidget.setItem(row, _column, _item)

        # rule columns
        _column += 1
        for _offset in np.arange(len(self.list_of_rule_names)):
            _row_layout = QHBoxLayout()
            _widget = QCheckBox()
            _widget.blockSignals(True)
            if check_new_row and _offset == row:
                _widget.setCheckState(QtCore.Qt.Checked)
            list_of_widgets_to_unlock.append(_widget)
            _widget.stateChanged.connect(lambda value=0:
                                         self.checkbox_changed(value))

            _spacer1 = QSpacerItem(40,20, QSizePolicy.Expanding, QSizePolicy.Minimum)
            _row_layout.addItem(_spacer1)
            _row_layout.addWidget(_widget)
            _spacer2 = QSpacerItem(40,20, QSizePolicy.Expanding, QSizePolicy.Minimum)
            _row_layout.addItem(_spacer2)
            _rule_widget = QWidget()
            _rule_widget.setLayout(_row_layout)
            self.ui.tableWidget.setCellWidget(row, _column+_offset, _rule_widget)

        # inner group rule
        _column += len(self.list_of_rule_names)
        _widget = QComboBox()
        _widget.blockSignals(True)
        list_of_widgets_to_unlock.append(_widget)
        _widget.setEnabled(False)
        _widget.currentIndexChanged.connect(lambda value=list_options[0]:
                                            self.combobox_changed(value))

        list_options = ["and", "or"]
        _widget.addItems(list_options)
        self.ui.tableWidget.setCellWidget(row, _column, _widget)
        self.unlock_signals_ui(list_of_widgets_to_unlock)
开发者ID:neutrons,项目名称:FastGR,代码行数:64,代码来源:global_rule_handler.py


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