本文整理汇总了Python中PyQt4.Qsci.QsciAPIs.clear方法的典型用法代码示例。如果您正苦于以下问题:Python QsciAPIs.clear方法的具体用法?Python QsciAPIs.clear怎么用?Python QsciAPIs.clear使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PyQt4.Qsci.QsciAPIs
的用法示例。
在下文中一共展示了QsciAPIs.clear方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: CppEditor
# 需要导入模块: from PyQt4.Qsci import QsciAPIs [as 别名]
# 或者: from PyQt4.Qsci.QsciAPIs import clear [as 别名]
class CppEditor(QsciScintilla):
'''
classdocs
'''
def __init__(self, parent=None, fileName=None, readOnlyFiles=[]):
'''
Constructor
'''
super(CppEditor, self).__init__(parent)
self.parent = parent
self.roFiles = readOnlyFiles
self.setAcceptDrops(False) # drag&drop is on its parent
# Set the default font
font = QtGui.QFont()
font.setFamily('Courier')
font.setFixedPitch(True)
font.setPointSize(10)
self.setFont(font)
self.setMarginsFont(font)
# C/C++ lexer
self.lexer = QsciLexerCPP(self, True)
self.lexer.setDefaultFont(font)
self.libraryAPIs = QsciAPIs(QsciLexerCPP(self,True))
self.setLexer(self.lexer)
self.SendScintilla(QsciScintilla.SCI_STYLESETFONT, 1, 'Courier')
# Auto-indent
self.setTabWidth(4)
#self.setIndentationsUseTabs(False)
self.setAutoIndent(True)
# Current line visible with special background color
self.setCaretLineVisible(True)
self.setCaretLineBackgroundColor(QtGui.QColor("#ffe4e4"))
# Enable brace matching
self.setBraceMatching(QsciScintilla.SloppyBraceMatch)
# Enable folding visual- use boxes
self.setFolding(QsciScintilla.BoxedTreeFoldStyle)
# show line numbers
fontmetrics = QtGui.QFontMetrics(font)
self.setMarginsFont(font)
self.setMarginWidth(0, fontmetrics.width("00000") + 4)
self.setMarginLineNumbers(0, True)
self.setMarginsBackgroundColor(QtGui.QColor("#ccccee"))
# not too small
self.setMinimumSize(400, 200)
# set the length of the string before the editor tries to auto-complete
self.setAutoCompletionThreshold(3)
# tell the editor we are using a QsciAPI for the auto-completion
self.setAutoCompletionSource(QsciScintilla.AcsAPIs)
# removed remaining right side characters from the current cursor
self.setAutoCompletionReplaceWord(True)
# "CTRL+Space" autocomplete
self.shortcut_ctrl_space = QtGui.QShortcut(QtGui.QKeySequence("Ctrl+Space"), self)
self.connect(self.shortcut_ctrl_space,
QtCore.SIGNAL('activated()'), self.autoCompleteFromAll)
if fileName:
self.curFile = fileName
self.loadFile(fileName)
self.isUntitled = False
else:
self.curFile = PROJECT_NONAME + USER_CODE_EXT
self.setText( __default_content__ )
self.isUntitled = True
self.updateApiKeywords()
self.isModified = False
self.connect(self, QtCore.SIGNAL('textChanged()'), self.onTextChanged )
def onTextChanged(self):
self.isModified = True
self.parent.onChildContentChanged()
def loadFile(self, fileName):
qfile = QtCore.QFile(fileName)
if not qfile.open(QtCore.QFile.ReadOnly | QtCore.QFile.Text):
QtGui.QMessageBox.warning(self, PROJECT_ALIAS,
"Cannot read file %s:\n%s." % (fileName, qfile.errorString()))
return False
ret = True
try:
# workaround for OS X QFile.readAll()
f = open(qfile.fileName(), 'r')
self.clear()
for line in f.readlines():
self.append(line)
except:
QtGui.QMessageBox.warning(self, PROJECT_ALIAS,
"failed to read %s." % fileName )
#.........这里部分代码省略.........
示例2: CommandShell
# 需要导入模块: from PyQt4.Qsci import QsciAPIs [as 别名]
# 或者: from PyQt4.Qsci.QsciAPIs import clear [as 别名]
class CommandShell(QsciScintilla):
def __init__(self, parent=None):
super(CommandShell, self).__init__(parent)
self.setMinimumHeight(50)
self.setMaximumHeight(50)
self.settings = QSettings()
self.lex = QsciLexerPython(self)
self.apis = QsciAPIs(self.lex)
self.lex.setAPIs(self.apis)
self.setLexers()
self.SendScintilla(QsciScintilla.SCI_SETHSCROLLBAR, 0)
self.SendScintilla(QsciScintilla.SCI_SETVSCROLLBAR, 0)
self.setFolding(0)
self._start_prompt = _start_prompt
self.prompt = self._start_prompt
self.currentfunction = None
self.setAutoCompletionSource(self.AcsAPIs)
self.setAutoCompletionThreshold(1)
self.setAutoCompletionReplaceWord(True)
self.setCallTipsStyle(QsciScintilla.CallTipsNoContext)
self.parent().installEventFilter(self)
self.textChanged.connect(self.text_changed)
self._lastcompletions = None
def text_changed(self):
if not self.get_data().strip():
return
try:
completions = command.completions_for_line(self.get_data())
if completions == self._lastcompletions:
self.autoCompleteFromAPIs()
return
self._lastcompletions = completions
self.apis.cancelPreparation()
self.apis.clear()
for value in completions:
data = u"{}".format(value)
self.apis.add(data)
self.apis.prepare()
except command.NoFunction:
return
def end(self):
self.parent().removeEventFilter(self)
self.close()
def eventFilter(self, object, event):
if event.type() == QEvent.Resize:
self.adjust_size()
return QWidget.eventFilter(self, object, event)
def keyPressEvent(self, e):
if e.key() in (Qt.Key_Return, Qt.Key_Enter):
self.entered()
elif e.key() == Qt.Key_Escape:
self.close()
elif e.key() in (Qt.Key_Backspace, Qt.Key_Delete):
_, newindex = self.getCursorPosition()
if newindex > len(self.prompt):
QsciScintilla.keyPressEvent(self, e)
else:
QsciScintilla.keyPressEvent(self, e)
def show_prompt(self, prompt=_start_prompt, data=None):
self.clear()
if not prompt == _start_prompt:
prompt += ":"
text = prompt
if data:
text = prompt + str(data)
self.setText(text)
self.prompt = prompt
self.move_cursor_to_end()
def get_end_pos(self):
"""Return (line, index) position of the last character"""
line = self.lines() - 1
return (line, len(self.text(line)))
def move_cursor_to_end(self):
"""Move cursor to end of text"""
line, index = self.get_end_pos()
self.setCursorPosition(line, index)
self.ensureCursorVisible()
self.ensureLineVisible(line)
def get_data(self):
line = self.text()
line = line[len(self.prompt):]
return line
def entered(self):
line = self.get_data()
#.........这里部分代码省略.........
示例3: APIs
# 需要导入模块: from PyQt4.Qsci import QsciAPIs [as 别名]
# 或者: from PyQt4.Qsci.QsciAPIs import clear [as 别名]
#.........这里部分代码省略.........
def __apiPreparationCancelled(self):
"""
Private method called, after the API preparation process has been cancelled.
"""
self.__inPreparation = False
self.emit(SIGNAL('apiPreparationCancelled()'))
def __apiPreparationStarted(self):
"""
Private method called, when the API preparation process started.
"""
self.__inPreparation = True
self.emit(SIGNAL('apiPreparationStarted()'))
def prepareAPIs(self, ondemand = False, rawList = None):
"""
Public method to prepare the APIs if necessary.
@keyparam ondemand flag indicating a requested preparation (boolean)
@keyparam rawList list of raw API files (QStringList)
"""
if self.__apis is None or self.__inPreparation:
return
needsPreparation = False
if ondemand:
needsPreparation = True
else:
# check, if a new preparation is necessary
preparedAPIs = self.__defaultPreparedName()
if not preparedAPIs.isEmpty():
preparedAPIsInfo = QFileInfo(preparedAPIs)
if not preparedAPIsInfo.exists():
needsPreparation = True
else:
preparedAPIsTime = preparedAPIsInfo.lastModified()
apifiles = Preferences.getEditorAPI(self.__language)
apifiles.sort()
if self.__apifiles != apifiles:
needsPreparation = True
for apifile in apifiles:
if QFileInfo(apifile).lastModified() > preparedAPIsTime:
needsPreparation = True
break
if needsPreparation:
# do the preparation
self.__apis.clear()
if rawList:
apifiles = rawList
else:
apifiles = Preferences.getEditorAPI(self.__language)
for apifile in apifiles:
self.__apis.load(apifile)
self.__apis.prepare()
self.__apifiles = apifiles
def cancelPreparation(self):
"""
Public slot to cancel the APIs preparation.
"""
self.__apis and self.__apis.cancelPreparation()
def installedAPIFiles(self):
"""
Public method to get a list of installed API files.
@return list of installed API files (QStringList)
"""
if self.__apis is not None:
if Utilities.isWindowsPlatform():
qsciPath = os.path.join(Utilities.getPyQt4ModulesDirectory(), "qsci")
if os.path.exists(qsciPath):
# it's the installer
if self.__lexer.lexer() is not None:
apidir = os.path.join(qsciPath, "api", self.__lexer.lexer())
fnames = QStringList()
filist = QDir(apidir).entryInfoList(["*.api"], QDir.Files,
QDir.IgnoreCase)
for fi in filist:
fnames.append(fi.absoluteFilePath())
return fnames
else:
return QStringList()
return self.__apis.installedAPIFiles()
else:
return QStringList()
def __defaultPreparedName(self):
"""
Private method returning the default name of a prepared API file.
@return complete filename for the Prepared APIs file (QString)
"""
if self.__apis is not None:
return self.__apis.defaultPreparedName()
else:
return QString()