本文整理汇总了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()
示例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)