def __create_filter_ui(self): """ Create filter widgets """ filter_layout = QHBoxLayout() filter_layout.setSpacing(1) filter_layout.setContentsMargins(0, 0, 0, 0) self.filter_reset_btn = QPushButton() icon = QIcon(':/filtersOff.png') self.filter_reset_btn.setIcon(icon) self.filter_reset_btn.setIconSize(QSize(22, 22)) self.filter_reset_btn.setFixedSize(24, 24) self.filter_reset_btn.setToolTip('Reset filter') self.filter_reset_btn.setFlat(True) self.filter_reset_btn.clicked.connect( partial(self.on_filter_set_text, '')) self.filter_line = QLineEdit() self.filter_line.setPlaceholderText('Enter filter string here') self.filter_line.textChanged.connect(self.on_filter_change_text) completer = QCompleter(self) completer.setCaseSensitivity(Qt.CaseInsensitive) completer.setModel(QStringListModel([], self)) self.filter_line.setCompleter(completer) filter_layout.addWidget(self.filter_reset_btn) filter_layout.addWidget(self.filter_line) return filter_layout
def testSignals(self): self._called = False m = QStringListModel() m.rowsAboutToBeInserted[QModelIndex, int, int].connect(self.sigCallback) m.insertRows(0, 3) self.assert_(self._called)
def __init__(self, parent=None): super(ExportDialog, self).__init__(parent) self._output_folder = None self.setModal(True) layout_main = QGridLayout() label_choose_format = QLabel(self.tr("Choose format")) self.combo_choose_format = QComboBox() self.combo_choose_format.setModel(QStringListModel(FileExporter.FORMATS_AVAILABLE)) label_saveto = QLabel(self.tr("Save location")) button_saveto = QPushButton(self.tr("Browse ...")) button_saveto.clicked.connect(self._openFolderChoiceDialog) self.label_output = QLabel() button_export = QPushButton(self.tr("Export")) button_export.clicked.connect(self.accept) button_cancel = QPushButton(self.tr("Cancel")) button_cancel.clicked.connect(self.reject) row = 0; col = 0; layout_main.addWidget(label_choose_format, row, col, 1, 2) col += 2 layout_main.addWidget(self.combo_choose_format, row, col, 1, 2) row += 1; col -= 2; layout_main.addWidget(label_saveto, row, col, 1, 2) col += 2 layout_main.addWidget(button_saveto, row, col, 1, 2) row += 1; col -= 2; layout_main.addWidget(self.label_output, row, col, 1, 4) row += 1; col += 2 layout_main.addWidget(button_export, row, col) col += 1 layout_main.addWidget(button_cancel, row, col) self.setWindowTitle(self.tr("Export Parameters")) self.setLayout(layout_main)
def setList(self, list): self.clear() self.addItems(list) autoCompleteModel = QStringListModel(list) completer = QCompleter() completer.setModel(autoCompleteModel) completer.setCaseSensitivity(Qt.CaseInsensitive) self.setCompleter(completer)
def setCompleterModel(self): result = self.search.text() if len(result) == 1: wordobjects = self.indexer.data['WORDS'].start_with_prefix(result) words = [] for wordobj in wordobjects: words.append(wordobj.word) model = QStringListModel() model.setStringList(words) self.completer.setModel(model)
def __init__(self, *args, **kwargs): super(RuleTextEdit, self).__init__(*args, **kwargs) self.setAutoFillBackground(True) self.textChanged.connect(self.onTextChange) model = QStringListModel() model.setStringList(['<', '>', '=', 'vasya']) self.completer = QCompleter(model) self.completer.setCaseSensitivity(Qt.CaseInsensitive) self.setCompleter(self.completer)
def __init__(self, list, prefill=None): super(autocompleter, self).__init__() self.list = list self.prefillObject = prefill self.alreadyPrefilled = False self.qList = QStringListModel() self.qList.setStringList(self.list) self.fakeEnterFlag = False self.completer = QtGuiWidgets.QCompleter() self.completer.setCaseSensitivity(QtCore.Qt.CaseInsensitive) self.completer.setModel(self.qList) self.confirmText = '' self.setCompleter(self.completer) self.updateList(list)
def _createApiChooserLineedit(self): """ Create the I{QLineEdit }used for selecting API names. This includes a QCompleter to make suggestions based on the keyword database. """ self.api_chooser_lineedit = QLineEdit() self.api_chooser_lineedit.returnPressed.connect(self.populateBrowserWindow) self.api_chooser_lineedit.textChanged.connect(self._updateCompleterModel) completer = QCompleter() completer.setCaseSensitivity(QtCore.Qt.CaseInsensitive) completer.setModelSorting(QCompleter.CaseSensitivelySortedModel) self.completer_model = QStringListModel([]) completer.setModel(self.completer_model) self.api_chooser_lineedit.setCompleter(completer)
def __init__(self, parent): ''' Create an autocompletion list popup ''' widget = QListWidget() super(Completer, self).__init__(parent) self.setWidget(widget) self.string_list = QStringListModel() self._completer = QCompleter() self.parent = parent self._completer.setCaseSensitivity(Qt.CaseInsensitive) # For some reason the default minimum size is (61,61) # Set it to 0 so that the size of the box is not taken # into account when it is hidden. self.setMinimumSize(0, 0) self.prepareGeometryChange() self.resize(0, 0) self.hide()
def __init__(self, parent, widget, on_change): """Init and connect signals""" self.parent = parent self.app = QApplication.instance() self.widget = widget self.tags_list = map( lambda tag: Tag.from_tuple(tag).name, self.app.provider.list_tags(), ) self.completer = QCompleter() self.completer_model = QStringListModel() self.completer.setModel(self.completer_model) self.completer.activated.connect(self.update_completion) self.update_completion() self.widget.setCompleter(self.completer) self.widget.textChanged.connect(Slot()(on_change)) self.widget.textEdited.connect(self.update_completion)
def __init__(self, parent=None, list=[]): QComboBox.__init__(self, parent) self.setEditable(True) self.setInsertPolicy(QComboBox.NoInsert) self.addItems(list) autoCompleteModel = QStringListModel(list) completer = QCompleter() completer.setModel(autoCompleteModel) completer.setCaseSensitivity(Qt.CaseInsensitive) self.setCompleter(completer) self.setEditText("") self.__textChangeStatus = True self.editTextChanged.connect(self.__onTextChange) shortcut = QShortcut(QKeySequence(Qt.Key_Return), self, self.__onEnter) shortcut = QShortcut(QKeySequence(Qt.Key_Enter), self, self.__onEnter)
def __init__(self): def paste(): loadPath = (self.repository+self.filename_base+"%s.nk")%(self.cb_list.currentText()) print loadPath nuke.nodePaste(loadPath) self.close() self.user = os.environ.get("USERNAME") self.repository = "T://_Nuke_tools//global_clipboard//" self.filename_base = "tempClipBoard_" os.chdir(self.repository) self.items = [] for file in glob.glob("*.nk"): self.items.append(file.split(self.filename_base)[-1].split('.')[0]) super(GlobalClipboard, self).__init__(QtGui.QApplication.activeWindow()) self.setWindowTitle('Global Clipboard') self.hbox=QtGui.QHBoxLayout() self.cb_list=QtGui.QComboBox() self.cb_list.setEditable(True) for item in self.items: self.cb_list.addItem(item) self.completer = QCompleter() self.cb_list.setCompleter(self.completer) self.completer.setCaseSensitivity(QtCore.Qt.CaseInsensitive) model_autocomplete = QStringListModel() self.completer.setModel(model_autocomplete) model_autocomplete.setStringList(self.items) self.description=QtGui.QLabel(self) self.description.setText("Paste from") self.hbox.addWidget(self.description)#desc self.hbox.addWidget(self.cb_list)#menu self.button=QtGui.QPushButton("Paste") self.hbox.addWidget(self.button)#button self.button.clicked.connect(paste) self.setLayout(self.hbox)
def refresh(self): RWWidget.refresh(self) idx = self.relationSelector.currentIndex() self.treeWidget.clear() variant = None if idx != -1: variant = self.relationSelector.currentText() if variant is None: return abstractGraph = self.IA.get_graph([(0, variant)]) if abstractGraph is None or len(abstractGraph.relations) == 0: return createdNodes = buildRootNode(abstractGraph.relations, treeview=self.treeWidget) self.rootSelector.clear() model = QStringListModel() nodeList = list() for i in createdNodes: nodeList.append(i.text(0)) nodeList.sort() model.setStringList(nodeList) self.createdNodes = createdNodes self.rootSelector.setModel(model) self.rootSelector.setCurrentIndex(-1)
from PySide.QtCore import Qt, QPersistentModelIndex from PySide.QtGui import QStringListModel if __name__ == '__main__': stringListModel = QStringListModel(['one', 'two']) idx = stringListModel.index(1, 0) persistentModelIndex = QPersistentModelIndex(idx) stringListModel.data(persistentModelIndex, Qt.DisplayRole)
def _reinitializeFields(self, text): """Only one field is allowed to be added per dialog. If user wants to add another, erase the previous one he/she added""" self._items.pop(0) self._items.insert(0, text) self.combo_output_field.setModel(QStringListModel(self._items))