本文整理汇总了Python中PySide.QtGui.QCompleter.setCompletionMode方法的典型用法代码示例。如果您正苦于以下问题:Python QCompleter.setCompletionMode方法的具体用法?Python QCompleter.setCompletionMode怎么用?Python QCompleter.setCompletionMode使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PySide.QtGui.QCompleter
的用法示例。
在下文中一共展示了QCompleter.setCompletionMode方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: buildWorkFrame
# 需要导入模块: from PySide.QtGui import QCompleter [as 别名]
# 或者: from PySide.QtGui.QCompleter import setCompletionMode [as 别名]
def buildWorkFrame(self):
"""Creates the grouped set of widgets that allow users to build
basic Clause objects.
"""
groupBox = QGroupBox("Clause Workspace")
layout = QHBoxLayout(groupBox)
attributeCompleter = QCompleter(self.attributes)
attributeCompleter.setCompletionMode(QCompleter.InlineCompletion)
self.dropAttribute = DropLineEdit(self, self.mframe.agent.datatree, "",
attributeCompleter)
self.dropRelation = DropTextLabel("__")
self.dropValue = FilterValueLineEdit(groupBox,
self.mframe.agent.datatree, self.dropAttribute)
# Clear dropValue when dropAttribute changes
self.dropAttribute.textChanged.connect(self.dropValue.clear)
# Enter in dropValue works like addButton
self.dropValue.returnPressed.connect(self.addClause)
self.addButton = QPushButton("Add", groupBox)
self.addButton.clicked.connect(self.addClause)
layout.addWidget(self.dropAttribute)
layout.addItem(QSpacerItem(5,5))
layout.addWidget(self.dropRelation)
layout.addItem(QSpacerItem(5,5))
layout.addWidget(self.dropValue)
layout.addItem(QSpacerItem(5,5))
layout.addWidget(self.addButton)
groupBox.setLayout(layout)
return groupBox
示例2: config_completer
# 需要导入模块: from PySide.QtGui import QCompleter [as 别名]
# 或者: from PySide.QtGui.QCompleter import setCompletionMode [as 别名]
def config_completer(line_edit, model, field):
# sets up a completer based on a QSqlTableModel for the specified field on a QLineEdit
completer = QCompleter()
completer.setModel(model)
completer.setCompletionColumn(model.fieldIndex(field))
completer.setCompletionMode(QCompleter.PopupCompletion)
completer.setCaseSensitivity(Qt.CaseInsensitive)
completer.activated.connect(line_edit.returnPressed)
line_edit.setCompleter(completer)
示例3: focusInEvent
# 需要导入模块: from PySide.QtGui import QCompleter [as 别名]
# 或者: from PySide.QtGui.QCompleter import setCompletionMode [as 别名]
def focusInEvent(self, e):
"""On focus, this completer for this LineEdit will update its
values based on the attribute named in the watchLineEdit.
"""
super(FilterValueLineEdit, self).focusInEvent(e)
if self.oldText != self.watchLineEdit.text():
self.oldText = self.watchLineEdit.text()
values = self.datatree.getAttributeValues(
self.watchLineEdit.text())
self.setCompleter(None)
new_completer = QCompleter(values)
new_completer.setCompletionMode(QCompleter.InlineCompletion)
self.setCompleter(new_completer)
示例4: CodeCompletionMode
# 需要导入模块: from PySide.QtGui import QCompleter [as 别名]
# 或者: from PySide.QtGui.QCompleter import setCompletionMode [as 别名]
class CodeCompletionMode(Mode):
"""
This mode provides code completion to the CodeEdit widget.
The list of suggestion is supplied by a CodeCompletionModel.
Code completion may use more than one completion model. The suggestions
list is then filled model per model by beginning by the highest priority as
long as the number of suggestions is lower than
:attr:`pcef.modes.code_completion.CodeCompletion.minSuggestions`.
For example, a python editor will use a smart completion model with a high
priority and use the DocumentWordsCompletion model as a fallback system
when the smart model fails to provide enough suggestions.
The mode uses a QCompleter to provides display the list of suggestions.
Code completion is triggered using ctrl+space or when there is at least
three characters in the word being typed.
"""
#: Mode identifier
IDENTIFIER = "Code completion"
#: Mode description
DESCRIPTION = "Provides code completion though completion models"
def __init__(self):
super(CodeCompletionMode, self).__init__(
self.IDENTIFIER, self.DESCRIPTION)
self.thread_pool = QThreadPool()
self.thread_pool.setMaxThreadCount(2)
self.__cached_request = None
self.__active_thread_count = 0
self.__updating_models = False
self.__timer = QTimer()
#: Defines the min number of suggestions. This is used to know we should
# avoid using lower priority models.
# If there is at least minSuggestions in the suggestions list, we won't
# use other completion model.
self.minSuggestions = 50
#: Trigger key (automatically associated with the control modifier)
self.triggerKey = Qt.Key_Space
#: Number of chars needed to trigger the code completion
self.nbTriggerChars = 1
#: Tells if the completion should be triggered automatically (when
# len(wordUnderCursor) > nbTriggerChars )
# Default is True. Turning this option off might enhance performances
# and usability
self.autoTrigger = True
self.periodIsTrigger = True
#: Show/Hide current suggestion tooltip
self.displayTooltips = True
self.__caseSensitivity = Qt.CaseSensitive
#: The internal QCompleter
self.__completer = QCompleter()
# self.__completer.activated.connect(self._insertCompletion)
self.__completer.highlighted.connect(self._onHighlighted)
self.__completer.activated.connect(self._insertCompletion)
self.__prev_txt_len = 0
#: List of completion models
self._models = []
self.__tooltips = {}
def __del__(self):
self.__completer.setWidget(None)
self.__completer = None
def addModel(self, model):
"""
Adds a completion model to the completion models list.
:param model: CompletionModel to add
"""
self._models.append(model)
self._models = sorted(self._models, key=lambda mdl: mdl.priority,
reverse=True)
def install(self, editor):
"""
Setup the completer with the CodeEdit.
:param editor: CodeEditorWidget instance
"""
super(CodeCompletionMode, self).install(editor)
self.__completer.setWidget(editor.codeEdit)
self.__completer.setCaseSensitivity(self.__caseSensitivity)
self.__completer.setCompletionMode(QCompleter.PopupCompletion)
def __set_case(self, case):
if case != self.__caseSensitivity:
self.__caseSensitivity = case
self.__completer.setCaseSensitivity(case)
def __get_case(self):
#.........这里部分代码省略.........
示例5: __init__
# 需要导入模块: from PySide.QtGui import QCompleter [as 别名]
# 或者: from PySide.QtGui.QCompleter import setCompletionMode [as 别名]
def __init__(self, model, index, parent=None):
super(ObservationDialog, self).__init__(parent)
self.logger = Logger('root.observationDialog')
self.logger.debug('Debug set to: %s' % str(parent.logger.debugging))
self.setupUi(self)
# self.dateTimeEdit.setDateTime(QDateTime.currentDateTime())
# An observation model is passed to the constructor as a parameter
self.model = model
# Build a QCompleter that is based on a species model's species name.
# This way user can start typing the name in a line edit and the
# completion will suggest suitable species names based on the model
# TODO: language for the species name completion needs to be handled
# TODO: both completers have model column indexes hard coded in, thus
# they will break if the model is modified
sppCompleter = QCompleter(self)
sppCompleter.setModel(self.model.data_model)
sppCompleter.setCompletionColumn(4)
sppCompleter.setCompletionMode(QCompleter.InlineCompletion)
sppCompleter.setCaseSensitivity(Qt.CaseInsensitive)
self.sppLineEdit.setCompleter(sppCompleter)
# Build a QCompleter that is based on a species model's abbreviation.
# This way user can start typing the abbreviation in a line edit and the
# completion will suggest suitable species names based on the model
abbrCompleter = QCompleter(self)
abbrCompleter.setModel(self.model.data_model)
abbrCompleter.setCompletionColumn(1)
abbrCompleter.setCompletionMode(QCompleter.InlineCompletion)
self.abbrLineEdit.setCompleter(abbrCompleter)
# The underlying (observation) model is automatically updated through
# a QDataWidgetMapper
self.mapper = QDataWidgetMapper(self)
self.mapper.setSubmitPolicy(QDataWidgetMapper.ManualSubmit)
self.mapper.setModel(model)
# ID is mapped to a disabled dummy label in order to include it in the
# WidgetMapper --> not very elegant
self.mapper.addMapping(self.idLineEdit, model.ID)
self.mapper.addMapping(self.sppLineEdit, model.SPECIES)
self.mapper.addMapping(self.abbrLineEdit, model.ABBR)
self.mapper.addMapping(self.countSpinBox, model.COUNT)
self.mapper.addMapping(self.dateTimeEdit, model.TIME)
self.mapper.addMapping(self.locLineEdit, model.LOCATION)
self.mapper.addMapping(self.notesTextEdit, model.NOTES)
self.mapper.setCurrentModelIndex(index)
self.firstButton.clicked.connect(
lambda: self.saveRecord(ObservationDialog.FIRST))
self.prevButton.clicked.connect(
lambda: self.saveRecord(ObservationDialog.PREV))
self.nextButton.clicked.connect(
lambda: self.saveRecord(ObservationDialog.NEXT))
self.lastButton.clicked.connect(
lambda: self.saveRecord(ObservationDialog.LAST))
self.saveButton.clicked.connect(
lambda: self.saveRecord(ObservationDialog.CURRENT))
self.closeButton.clicked.connect(self.reject)
self.sppLineEdit.editingFinished.connect(self.update_fields)
示例6: mainwin
# 需要导入模块: from PySide.QtGui import QCompleter [as 别名]
# 或者: from PySide.QtGui.QCompleter import setCompletionMode [as 别名]
class mainwin(QMainWindow):
def __init__(self, parent=None):
super(mainwin, self).__init__(parent)
self.setWindowTitle("Nigandu English to Tamil Dictionary")
self.setGeometry(200, 50, 650, 600)
self.setMinimumHeight(620)
self.setMinimumWidth(650)
self.setMaximumHeight(660)
self.setMaximumWidth(800)
#Setting up status bar
self.myStatusBar = QStatusBar()
self.myStatusBar.showMessage('Ready', 7000)
self.setStatusBar(self.myStatusBar)
#Setting up application icon
appIcon = QIcon(":/icons/njnlogo.png")
self.setWindowIcon(appIcon)
# defining the central widget
self.central = QWidget(self)
#combobox plus search button
self.whole = QVBoxLayout(self.central)
self.gridlayout = QGridLayout()
self.comboBox = QLineEdit(self)
#self.comboBox.setEditable(True)
self.comboBox.setObjectName("comboBox")
self.completer = QCompleter(self.comboBox)
self.completer.setCompletionMode(QCompleter.UnfilteredPopupCompletion)
self.completer.setCaseSensitivity(Qt.CaseInsensitive)
self.completer.setMaxVisibleItems(10)
self.comboBox.setCompleter(self.completer)
#self.comboBox.setCompleter()
self.gridlayout.addWidget(self.comboBox, 1, 1, 1, 2)
self.searchbtn = QPushButton()
self.searchbtn.setObjectName("searchbtn")
self.searchbtn.setText("&Search")
self.gridlayout.addWidget(self.searchbtn, 1, 3)
vbox = QVBoxLayout()
self.tamtext = QTextBrowser()
self.listview = QListWidget(self)
#self.listview.setEditTriggers(QAbstractItemView.NoEditTriggers)
self.listview.setWindowTitle("Suggested words")
self.tamtext.setMinimumHeight(100)
self.tamtext.setMaximumHeight(150)
vbox.addWidget(self.tamtext)
self.suglbl = QLabel(self)
self.suglbl.setText("Suggested Words:")
vbox.addWidget(self.suglbl)
vbox.addWidget(self.listview)
self.whole.addLayout(self.gridlayout)
self.whole.addLayout(vbox)
self.setCentralWidget(self.central)
#setting docks
self.histdockwidg = QDockWidget("History", self)
self.bkmdockwidg = QDockWidget("Book Marks", self)
self.histdockwidg.setObjectName("self.histdockwidg")
self.bkmdockwidg.setObjectName("self.bkmdockwidg")
#self.histdockwidg.setMaximumWidth(histwidth)
self.histdockwidg.setAllowedAreas(Qt.RightDockWidgetArea)
self.bkmdockwidg.setAllowedAreas(Qt.RightDockWidgetArea)
self.histdockwidg.setMaximumWidth(250)
self.bkmdockwidg.setMaximumWidth(250)
self.histdockwidg.setMinimumWidth(200)
self.bkmdockwidg.setMinimumWidth(200)
#self.bkmdockwidg.setMaximumWidth(histwidth)
self.histli = QListWidget()
self.bkmli = QListWidget()
self.histlis = [0]
self.bkmlistfromfile = []
self.histdockwidg.setWidget(self.histli)
self.bkmdockwidg.setWidget(self.bkmli)
self.addDockWidget(Qt.RightDockWidgetArea, self.histdockwidg)
self.addDockWidget(Qt.RightDockWidgetArea, self.bkmdockwidg)
#file menu
fi_addwrd = self.createactions("&Add a word...", self.addwrdf, "Alt+A", ":/icons/add.png",
"Add a word to the dictionary. . .")
fi_options = self.createactions("&Options", self.optionsf, "None", ":/icons/options.png",
"Change the default settings. . .")
fi_help = self.createactions("&Help", self.helpf, QKeySequence.HelpContents, ":/icons/help.png",
"Help contents. . .")
fi_quit = self.createactions("&Quit", self.close, QKeySequence.Close, ":/icons/quit.png",
"Close the application. . .")
fplus = self.createactions("FontPlus", self.fplusf, "None", ":/icons/fplus.png", "Increase the font size")
fminus = self.createactions("FontMinus", self.fminusf, "None", ":/icons/fminus.png", "Decrease the font size")
#list of file actions
fi_menu = (fi_addwrd, fi_options, fi_help, None, fi_quit)
#go menu
self.go_prev = self.createactions("&Previous Word", self.prevf, "Alt+Z", ":/icons/prev.png",
"Previous Word")
self.go_next = self.createactions("&Next Word", self.nextf, "Alt+X", ":/icons/next.png", "Next Word")
self.go_rand = self.createactions("&Random Word", self.randf, "Ctrl+R", ":/icons/rand.png",
"Select a random word")
#.........这里部分代码省略.........
示例7: EditorCodeCompletion
# 需要导入模块: from PySide.QtGui import QCompleter [as 别名]
# 或者: from PySide.QtGui.QCompleter import setCompletionMode [as 别名]
class EditorCodeCompletion(QTextEdit):
def __init__(self, path_dict):
super(EditorCodeCompletion, self).__init__()
self.m_completer = QCompleter(self)
self.m_completer.setWidget(self)
words = []
self.flag_open_angle_bracket = False
self.tag_name = ""
try:
f = open(path_dict,"r")
for word in f:
words.append(word.strip())
f.close()
except IOError:
print ("dictionary not in anticipated location")
model = QStringListModel(words, self.m_completer)
self.m_completer.setModel(model)
self.m_completer.setCompletionMode(QCompleter.PopupCompletion)
self.m_completer.activated.connect(self.insertCompletion)
def insertCompletion (self, completion):
cursor = self.textCursor()
cursor.beginEditBlock()
cursor.movePosition(QTextCursor.Left)
cursor.movePosition(QTextCursor.EndOfWord)
extra = len(self.m_completer.completionPrefix())
cursor.insertText(completion[extra:])
self.setTextCursor(cursor)
cursor.endEditBlock()
def __insertTag(self):
'''
inserts the corresponding closing tag to an opening xml tag
'''
self.find('<', QTextDocument.FindBackward)
tc = self.textCursor()
tc.select(QTextCursor.WordUnderCursor)
txt = '' if self.__stringHasBracket(tc.selectedText().replace(' ', '')) else tc.selectedText()
txt = '</' + txt + '>'
self.find('>')
tc = self.textCursor()
tc.clearSelection()
tc.insertText(txt)
tc.movePosition(QTextCursor.Left, QTextCursor.MoveAnchor, len(txt))
self.setTextCursor(tc)
def __stringHasBracket(self, s):
return '<' in s or '>' in s
def __insertClosingTag(self, event):
operation_sys = sys.platform
flag = "linux" in operation_sys
if flag :
self.__insertClosingTag_Unix(event)
else:
self.__insertClosingTag_Win(event)
def __insertClosingTag_Unix(self, event):
'''
inserts a closing tag after the closing bracket of open tag
@param key: keyboard input value as int
'''
if self.flag_open_angle_bracket :
if event.key() == 47 : # /
print ("/")
self.flag_open_angle_bracket = False
elif event.key() == 62 : # >
print (">")
self.__insertTag()
self.flag_open_angle_bracket = False
elif event.key() == 60 : # <
print ("<")
self.flag_open_angle_bracket = True
def __insertClosingTag_Win(self, event) :
if self.flag_open_angle_bracket :
if event.modifiers() & Qt.ShiftModifier :
if event.key() == 55 : # /
print ("/")
self.flag_open_angle_bracket = False
elif event.key() == 60 : # >
print (">")
self.__insertTag()
self.flag_open_angle_bracket = False
elif event.key() == 60 : # <
print ("<")
self.flag_open_angle_bracket = True
def keyPressEvent(self, event):
'''
checks keyboard input to set closing tag or start code completion
'''
if self.m_completer.popup().isVisible() :
if event.key() == Qt.Key_Enter or event.key() == Qt.Key_Return or event.key() == Qt.Key_Tab or event.key() == Qt.Key_Escape :
#.........这里部分代码省略.........