这篇教程C++ textCursor函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中textCursor函数的典型用法代码示例。如果您正苦于以下问题:C++ textCursor函数的具体用法?C++ textCursor怎么用?C++ textCursor使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了textCursor函数的25个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: textCursor QString CompleterTextEditWidget::validTextUnderCursor() const { QTextCursor tc = textCursor(); QTextCursor t1=tc; t1.select(QTextCursor::WordUnderCursor); QString w=t1.selectedText().trimmed(); //std::cout<<"sel "<<w.toAscii().data()<<std::endl; QString cutl("1234567890*+!-?&!§$%&/()=?}][{//~#'.:,;<>^"); QString cutlb("*+!-?&!§$%&/()=?}][{//~#'.:,;<>^"); while (w.size()>0 && cutl.contains(w[0])) { w=w.remove(0,1); //std::cout<<"rf "<<w.toAscii().data()<<std::endl; } while (w.size()>0 && cutlb.contains(w[w.size()-1])) { w=w.remove(w.size()-1,1); //std::cout<<"rb "<<w.toAscii().data()<<std::endl; } int bn=tc.blockNumber(); while (tc.blockNumber()==bn && !validwords.contains(w) && tc.position()>0) { if (!tc.movePosition(QTextCursor::Left)) break; t1=tc; t1.select(QTextCursor::WordUnderCursor); w=t1.selectedText().trimmed(); //std::cout<<w.toAscii().data()<<std::endl; while (w.size()>0 && cutl.contains(w[0])) { w=w.remove(0,1); //std::cout<<"rf "<<w.toAscii().data()<<std::endl; } while (w.size()>0 && cutlb.contains(w[w.size()-1])) { w=w.remove(w.size()-1,1); //std::cout<<"rb "<<w.toAscii().data()<<std::endl; } } if (validwords.contains(w)) return w; else return ""; }
开发者ID:jkriege2,项目名称:LitSoz3,代码行数:36,
示例2: cvoid CompleterTextEditWidget::uncomment(){ QTextCursor c(textCursor()); if (c.selectionStart() == c.selectionEnd()) { c.select(QTextCursor::LineUnderCursor); c.insertText(removeComments(c.selectedText())); //setTextCursor(c); } else { // now we have to iterate through all selected blocks (lines) and indent them QTextCursor c1(c); c1.setPosition(c.selectionStart()); QTextCursor c2(c); c2.setPosition(c.selectionEnd()); c1.beginEditBlock(); while (c1.blockNumber() <= c2.blockNumber()) { c1.select(QTextCursor::BlockUnderCursor); //std::cout<<"'"<<c1.selectedText().toAscii().data()<<"' => '"<<removeComments(c1.selectedText()).toAscii().data()<<"'"<<std::endl; c1.insertText(removeComments(c1.selectedText())); if (!c1.movePosition(QTextCursor::NextBlock)) break; } c1.endEditBlock(); setTextCursor(c); }}
开发者ID:jkriege2,项目名称:LitSoz3,代码行数:24,
示例3: setCenterOnScrollbool CodeEditor::findNext( const QString &findText,bool cased,bool wrap ){ QTextDocument::FindFlags flags=0; if( cased ) flags|=QTextDocument::FindCaseSensitively; setCenterOnScroll( true ); bool found=find( findText,flags ); if( !found && wrap ){ QTextCursor cursor=textCursor(); setTextCursor( QTextCursor( document() ) ); found=find( findText,flags ); if( !found ) setTextCursor( cursor ); } setCenterOnScroll( false ); return found;}
开发者ID:bruZard,项目名称:amigamonkey,代码行数:24,
示例4: textCursorvoid GroupedLineEdit::selectAll(){ QTextCursor c = textCursor(); c.select(QTextCursor::LineUnderCursor); setTextCursor(c);}
开发者ID:B-Rich,项目名称:subsurface,代码行数:6,
示例5: textCursor//! [5]QString ContactListEdit::textUnderCursor() const{ QTextCursor tc = textCursor(); tc.select(QTextCursor::WordUnderCursor); return tc.selectedText();}
开发者ID:rbensonevans,项目名称:BitShares,代码行数:7,
示例6: foreach * Nothing is done on mismatch. */unsigned int ChatbarTextEdit::completeAtCursor() { // Get an alphabetically sorted list of usernames unsigned int id = 0; QList<QString> qlsUsernames; if (ClientUser::c_qmUsers.empty()) return id; foreach(ClientUser *usr, ClientUser::c_qmUsers) { qlsUsernames.append(usr->qsName); } qSort(qlsUsernames); QString target = QString(); QTextCursor tc = textCursor(); if (toPlainText().isEmpty() || tc.position() == 0) { target = qlsUsernames.first(); tc.insertText(target); } else { bool bBaseIsName = false; int iend = tc.position(); int istart = toPlainText().lastIndexOf(QLatin1Char(' '), iend - 1) + 1; QString base = toPlainText().mid(istart, iend - istart); tc.setPosition(istart); tc.setPosition(iend, QTextCursor::KeepAnchor); if (qlsUsernames.last() == base) { bBaseIsName = true; target = qlsUsernames.first();
开发者ID:AceXare,项目名称:mumble,代码行数:31,
示例7: textCursorQString LiteEditorWidget::wordUnderCursor() const{ QTextCursor tc = textCursor(); tc.select(QTextCursor::WordUnderCursor); return tc.selectedText();}
开发者ID:priest671,项目名称:liteide,代码行数:6,
示例8: pltvoid GenericCodeEditor::paintLineIndicator( QPaintEvent *e ){ QPalette plt( mLineIndicator->palette() ); QRect r( e->rect() ); QPainter p( mLineIndicator ); p.fillRect( r, plt.color( QPalette::Mid ) ); QTextDocument *doc = QPlainTextEdit::document(); QTextCursor cursor(textCursor()); int selStartBlock, selEndBlock; if (cursor.hasSelection()) { selStartBlock = doc->findBlock(cursor.selectionStart()).blockNumber(); selEndBlock = doc->findBlock(cursor.selectionEnd()).blockNumber(); } else selStartBlock = selEndBlock = -1; QTextBlock block = firstVisibleBlock(); int blockNumber = block.blockNumber(); qreal top = blockBoundingGeometry(block).translated(contentOffset()).top(); qreal bottom = top + blockBoundingRect(block).height(); while (block.isValid() && top <= e->rect().bottom()) { if (block.isVisible() && bottom >= e->rect().top()) { p.save(); QRectF numRect( 0, top, mLineIndicator->width() - 1, bottom - top ); int num = blockNumber; if (num >= selStartBlock && num <= selEndBlock) { num -= selStartBlock; p.setPen(Qt::NoPen); p.setBrush(plt.color(QPalette::Highlight)); p.drawRect(numRect); p.setPen(plt.color(QPalette::HighlightedText)); } QString number = QString::number(num + 1); p.setPen(plt.color(QPalette::ButtonText)); p.drawText(0, top, mLineIndicator->width() - 10, bottom - top, Qt::AlignRight, number); p.restore(); } block = block.next(); top = bottom; bottom = top + blockBoundingRect(block).height(); ++blockNumber; } if(!mEditorBoxIsActive) { QColor color = plt.color(QPalette::Mid); if(color.lightness() >= 128) color = color.darker(60); else color = color.lighter(50); color.setAlpha(inactiveFadeAlpha()); p.fillRect( r, color ); }}
开发者ID:ARTisERR0R,项目名称:supercollider,代码行数:63,
示例9: textCursorvoid QSAEditor::doObjectCompletion(){ QTextCursor cursor = textCursor(); cursor.movePosition(QTextCursor::StartOfWord, QTextCursor::KeepAnchor); QString objectName = cursor.selectedText(); if (objectName.endsWith(QLatin1Char('-'))) objectName.chop(1); objectName = objectName.simplified(); QString object = resolveFullyQualifiedValue(objectName, parseAssignments(functionCode())); bool assumedStatic = false; QSCompletionObject o; if(objectName == object) { QSObject stobj = env()->globalObject().get(object); if(stobj.isValid() && stobj.objectType()->valueType() == TypeClass) {#if defined ( QSA_COMPLETION_DEBUG ) printf(" -> assuming static/n");#endif o = stobj; assumedStatic = true; } } if(o.type == QSCompletionObject::TNull) { o = queryObject(object); }#if defined ( QSA_COMPLETION_DEBUG ) printf(" -> type is: %d/n", o.type);#endif o.resolve(); if (o.isNull()) return; QVector<CompletionEntry> res; QSObject nullObject; switch (o.type) { case QSCompletionObject::TQSObject:#if defined ( QSA_COMPLETION_DEBUG ) printf(" -> objectType is: %s/n", o.qsobj.objectType()->name().latin1());#endif if(o.qsobj.objectType()->name() == QString::fromLatin1("FactoryObject")){ QSObject sinst = ( (QSFactoryObjectProxy*) o.qsobj.objectType() )->staticInstance(); if(!sinst.isValid()) return; QSWrapperShared *shared = (QSWrapperShared*) sinst.shVal(); completeQObject( shared->objects, object, res ); break; } completeQSObject(o.qsobj, res, !assumedStatic); break; case QSCompletionObject::TQMetaObject: completeQMetaObject(o.meta, object, res, IncludeSuperClass, nullObject); break; case QSCompletionObject::TQObject: completeQObject(o.qobj, object, res); break; case QSCompletionObject::TNull: break; } if (!res.isEmpty()) { QFrame *f = new QFrame(0, Qt::Popup); f->setAttribute(Qt::WA_DeleteOnClose); QWidget *box = new CompletionBox(this, res); QVBoxLayout *layout = new QVBoxLayout; layout->addWidget(box); layout->setMargin(0); f->setLayout(layout); f->move(mapToGlobal(cursorRect().bottomLeft())); f->show(); box->setFocus(); }}
开发者ID:aschet,项目名称:qsaqt5,代码行数:80,
示例10: documentbool Console::inCommandLine() const{ return document()->blockCount()-1 == textCursor().blockNumber() && textCursor().positionInBlock() >= m_prefix.length();}
开发者ID:wdobbie,项目名称:Nexpo,代码行数:4,
示例11: textCursorQString Console::currentWord() const{ QTextCursor cur = textCursor(); cur.select(QTextCursor::WordUnderCursor); return cur.selectedText();}
开发者ID:wdobbie,项目名称:Nexpo,代码行数:6,
示例12: processCommandvoid Console::keyPressEvent(QKeyEvent *event){ if (event->key() == Qt::Key_Return) // process command { if (m_completer && m_completer->popup()->isVisible()) { event->ignore(); return; } else { processCommand(); } return; } if (inCommandLine()) { // clear selection that spans multiple blocks (or prefix characters) (would overwrite previous command lines): QTextCursor cur = textCursor(); if (cur.hasSelection()) { if (document()->findBlock(cur.selectionStart()) != document()->findBlock(cur.selectionEnd()) || // spans multiple blocks (including command line) cur.selectionStart()-cur.block().position() < m_prefix.length() || // spans prefix cur.selectionEnd()-cur.block().position() < m_prefix.length() ) // spans prefix { cur.clearSelection(); if (cur.positionInBlock() < m_prefix.length()) cur.setPosition(cur.block().position()+m_prefix.length()); setTextCursor(cur); } } if (cur.positionInBlock() == m_prefix.length()) { cur.setCharFormat(QTextCharFormat()); // make sure we don't pick up format from prefix setTextCursor(cur); } // react to keystroke: if (event->matches(QKeySequence::MoveToPreviousLine)) // history up { if (m_history.isEmpty() || m_historyPos >= m_history.size()-1) return; ++m_historyPos; int index = m_history.size()-m_historyPos-1; QTextCursor cur(document()->lastBlock()); cur.movePosition(QTextCursor::NextCharacter, QTextCursor::MoveAnchor, m_prefix.length()); cur.movePosition(QTextCursor::EndOfBlock, QTextCursor::KeepAnchor); cur.removeSelectedText(); cur.setCharFormat(QTextCharFormat()); cur.insertText(m_history.at(index)); setTextCursor(cur); } else if (event->matches(QKeySequence::MoveToNextLine)) // history down { if (m_history.isEmpty() || m_historyPos <= 0) return; --m_historyPos; int index = m_history.size()-m_historyPos-1; QTextCursor cur(document()->lastBlock()); cur.movePosition(QTextCursor::NextCharacter, QTextCursor::MoveAnchor, m_prefix.length()); cur.movePosition(QTextCursor::EndOfBlock, QTextCursor::KeepAnchor); cur.removeSelectedText(); cur.setCharFormat(QTextCharFormat()); cur.insertText(m_history.at(index)); setTextCursor(cur); } else if (event->matches(QKeySequence::Paste)) // paste text, do it manually to remove text char formatting and newlines { QString pasteText = QApplication::clipboard()->text(); pasteText.replace("/n", "").replace("/r", ""); cur.setCharFormat(QTextCharFormat()); cur.insertText(pasteText); setTextCursor(cur); } else if (event->key() == Qt::Key_Backspace || event->matches(QKeySequence::MoveToPreviousChar)) // only allow backspace if we wouldn't delete last char of prefix, similar left arrow { if (cur.positionInBlock() > m_prefix.length()) QPlainTextEdit::keyPressEvent(event); } else if (event->matches(QKeySequence::MoveToStartOfLine) || event->key() == Qt::Key_Home) { // Don't move past prefix when pressing home // OSX treats the home key as MoveToStartOfDocument, so including the key code here too cur.movePosition(QTextCursor::PreviousCharacter, event->modifiers() & Qt::ShiftModifier ? QTextCursor::KeepAnchor : QTextCursor::MoveAnchor, cur.positionInBlock() - m_prefix.length()); cur.setCharFormat(QTextCharFormat()); setTextCursor(cur); } else if (event->key() == Qt::Key_Escape) { if (m_completer && m_completer->popup()->isVisible()) { m_completer->popup()->hide(); } else { QTextCursor cur(document()->lastBlock()); cur.movePosition(QTextCursor::NextCharacter, QTextCursor::MoveAnchor, m_prefix.length()); cur.movePosition(QTextCursor::EndOfBlock, QTextCursor::KeepAnchor); cur.removeSelectedText(); setTextCursor(cur); } } else if (event->key() == Qt::Key_Tab) { if (m_completer) { m_completer->setCompletionPrefix(currentWord()); QRect cr = cursorRect(); cr.setWidth(m_completer->popup()->sizeHintForColumn(0) + m_completer->popup()->verticalScrollBar()->sizeHint().width()); m_completer->complete(cr);//.........这里部分代码省略.........
开发者ID:wdobbie,项目名称:Nexpo,代码行数:101,
示例13: textCursorbool ChatTextEdit::eventFilter(QObject *obj, QEvent *event){ if (event->type() == QEvent::KeyPress) { QKeyEvent *keyEvent = (QKeyEvent *) event; if (keyEvent->key() == Qt::Key_Up) { // Key up QTextCursor cursor = textCursor(); int pos = cursor.position(); bool sel = keyEvent->modifiers() == Qt::ShiftModifier; cursor.movePosition(QTextCursor::Up, (sel ? QTextCursor::KeepAnchor : QTextCursor::MoveAnchor)); if (pos == cursor.position()) cursor.movePosition(QTextCursor::Start, (sel ? QTextCursor::KeepAnchor : QTextCursor::MoveAnchor)); setTextCursor(cursor); return true; } else if (keyEvent->key() == Qt::Key_Down) { // Key down QTextCursor cursor = textCursor(); int pos = cursor.position(); bool sel = keyEvent->modifiers() == Qt::ShiftModifier; cursor.movePosition(QTextCursor::Down, (sel ? QTextCursor::KeepAnchor : QTextCursor::MoveAnchor)); if (pos == cursor.position()) cursor.movePosition(QTextCursor::End, (sel ? QTextCursor::KeepAnchor : QTextCursor::MoveAnchor)); setTextCursor(cursor); return true; } else if (keyEvent->nativeScanCode() == 36) { // Return pressed if (Client::enterIsSend && !(keyEvent->modifiers() & Qt::ShiftModifier)) { isComposing = false; emit returnPressed(); return true; } } else if (keyEvent->nativeScanCode() == 54 && keyEvent->modifiers() == Qt::ControlModifier) { // Copy QTextCursor cursor = textCursor(); if (cursor.hasSelection()) { QTextDocumentFragment selection = cursor.selection(); QClipboard *clipboard = QApplication::clipboard(); clipboard->setText(Utilities::htmlToWAText(selection.toHtml())); QMaemo5InformationBox::information(this,"Copied"); return true; } } else if (keyEvent->nativeScanCode() == 55 && keyEvent->modifiers() == Qt::ControlModifier) { // Paste event QTextCursor cursor = textCursor(); QClipboard *clipboard = QApplication::clipboard(); cursor.insertHtml(Utilities::WATextToHtml(clipboard->text(),32,false)); return true; } else if (!isComposing) { isComposing = true; emit composing(); } else { lastKeyPressed = QDateTime::currentMSecsSinceEpoch(); composingTimer.start(2000); } } else if (event->type() == QEvent::InputMethod) { QInputMethodEvent *inputEvent = (QInputMethodEvent *) event; //Utilities::logData("Commit String: '" + inputEvent->commitString() + "'"); if (inputEvent->commitString() == "/n" && Client::enterIsSend) { // Let's hide the keyboard if it was shown QTimer::singleShot(0,this,SLOT(closeKB())); isComposing = false; emit returnPressed(); return true; } } return QTextEdit::eventFilter(obj,event);}
开发者ID:0xaaa,项目名称:yappari,代码行数:99,
示例14: findNextAvailablebool QFCompleterTextEditWidget::replaceFirst(QString phrase, QString replaceBy, bool searchFromStart, bool matchCase, bool wholeWords, bool replaceAll, bool askBeforeReplace){ this->searchFromStart=searchFromStart; this->matchCase=matchCase; this->wholeWords=wholeWords; this->searchPhrase=phrase; this->replacePhrase=replaceBy; this->replaceAll=replaceAll; this->askBeforeReplace=askBeforeReplace; currentlySearching=false; currentlyReplacing=true; emit findNextAvailable(true); QTextCursor c(textCursor()); c.clearSelection(); if (searchFromStart) { c.movePosition(QTextCursor::StartOfLine, QTextCursor::MoveAnchor); while (!c.atStart()) { c.movePosition(QTextCursor::Up, QTextCursor::MoveAnchor); } } setTextCursor(c); // find the next occurence QTextDocument::FindFlags flags=0; if (matchCase) flags |= QTextDocument::FindCaseSensitively; if (wholeWords) flags |= QTextDocument::FindWholeWords; if (replaceAll) { long count=0; bool stopped=false; while (find(phrase, flags) && !stopped) { if (askBeforeReplace) { QMessageBox::StandardButton ret; ret = QMessageBox::question(this, tr("Find & Replace ..."), tr("Replace this occurence?"), QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel); if (ret == QMessageBox::Cancel) { stopped=true; } else if (ret == QMessageBox::Yes) { QTextCursor c(textCursor()); c.insertText(replacePhrase); setTextCursor(c); count++; } } else { QTextCursor c(textCursor()); c.insertText(replacePhrase); setTextCursor(c); count++; } } if (count>0) QMessageBox::information(this, tr("Find & Replace ..."), tr("Replaced %1 occurences of '%2' ...") .arg(count) .arg(searchPhrase)); emit findNextAvailable(false); return (count>0); } else { if (!find(searchPhrase, flags)) { /*QMessageBox::information(this, tr("Find & Replace ..."), tr("Did not find '%1' ...") .arg(searchPhrase));*/ emit findNextAvailable(false); return false; } else { if (askBeforeReplace) { QMessageBox::StandardButton ret; ret = QMessageBox::question(this, tr("Find & Replace ..."), tr("Replace this occurence?"), QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel); if (ret == QMessageBox::Cancel) { emit findNextAvailable(false); return true; } else if (ret == QMessageBox::Yes) { QTextCursor c(textCursor()); c.insertText(replacePhrase); setTextCursor(c); emit findNextAvailable(true); return true; } else if (ret == QMessageBox::No) { emit findNextAvailable(true); return true; } } else { QTextCursor c(textCursor()); c.insertText(replacePhrase); setTextCursor(c); emit findNextAvailable(true); return true; } } } emit findNextAvailable(false); return false;}
开发者ID:jkriege2,项目名称:QuickFit3,代码行数:98,
示例15: switch//-------------------------------------------------------------------------------------------------void QCommandPrompt::keyPressEvent(QKeyEvent *e){ // Wenn Enter gedrückt wird, wird die Eingabe als Kommando interpretiert switch(e->key()) { case Qt::Key_Return: { // Alles zwischen Promptposition und dem Textende ist das Kommando QString sAll = toPlainText(); QString sCmd = sAll.right(sAll.count() - m_nPromptPos); if (sCmd.length()>0 && (m_vHistory.size()==0 || m_vHistory.back()!=sCmd) ) { m_vHistory.push_back(sCmd); while (m_vHistory.size() > m_nMaxHist) m_vHistory.removeFirst(); m_nHistPos = m_vHistory.size() - 1; } sCmd = sCmd.trimmed(); if (!sCmd.isEmpty()) { addLine(getPrompt() + sCmd.trimmed()); emit commandInput(sCmd); } // Textcursor ans Ende versetzen QTextCursor tc = textCursor(); tc.movePosition(QTextCursor::End); setTextCursor(tc); } break; case Qt::Key_Up: case Qt::Key_Down: if (m_vHistory.size()==0) break; clearLineExceptPrompt(); insertPlainText(m_vHistory[m_nHistPos]); m_nHistPos = m_nHistPos + ((e->key()==Qt::Key_Up) ? -1 : 1); m_nHistPos = Utils::clamp(0, m_vHistory.size()-1, m_nHistPos); break; case Qt::Key_Home: { QTextCursor tc = textCursor(); Qt::KeyboardModifiers mod = e->modifiers(); if (mod & Qt::ShiftModifier) tc.setPosition(m_nPromptPos, QTextCursor::KeepAnchor); else tc.setPosition(m_nPromptPos, QTextCursor::MoveAnchor); setTextCursor(tc); } break; case Qt::Key_Backspace: case Qt::Key_Left: { int nPos = textCursor().position(); if (nPos > m_nPromptPos) QPlainTextEdit::keyPressEvent(e); } break; default: { int nPos = textCursor().position(); if (nPos < m_nPromptPos) { QTextCursor tc = textCursor(); tc.movePosition(QTextCursor::End); setTextCursor(tc); } QPlainTextEdit::keyPressEvent(e); } }}
开发者ID:beltoforion,项目名称:InstantLua,代码行数:85,
示例16: cbool GenericCodeEditor::find( const QRegExp &expr, QTextDocument::FindFlags options ){ // Although QTextDocument provides a find() method, we implement // our own, because the former one is not adequate. if(expr.isEmpty()) return true; bool backwards = options & QTextDocument::FindBackward; QTextCursor c( textCursor() ); int pos; if (c.hasSelection()) { bool matching = expr.exactMatch(c.selectedText()); if( backwards == matching ) pos = c.selectionStart(); else pos = c.selectionEnd(); } else pos = c.position(); QTextDocument *doc = QPlainTextEdit::document(); QTextBlock startBlock = doc->findBlock(pos); int startBlockOffset = pos - startBlock.position(); QTextCursor cursor; if (!backwards) { int blockOffset = startBlockOffset; QTextBlock block = startBlock; while (block.isValid()) { if (findInBlock(doc, block, expr, blockOffset, options, cursor)) break; blockOffset = 0; block = block.next(); } if(cursor.isNull()) { blockOffset = 0; block = doc->begin(); while(true) { if (findInBlock(doc, block, expr, blockOffset, options, cursor) || block == startBlock) break; block = block.next(); } } } else { int blockOffset = startBlockOffset; QTextBlock block = startBlock; while (block.isValid()) { if (findInBlock(doc, block, expr, blockOffset, options, cursor)) break; block = block.previous(); blockOffset = block.length() - 1; } if(cursor.isNull()) { block = doc->end(); while(true) { blockOffset = block.length() - 1; if (findInBlock(doc, block, expr, blockOffset, options, cursor) || block == startBlock) break; block = block.previous(); } } } if(!cursor.isNull()) { setTextCursor(cursor); return true; } else return false;}
开发者ID:ARTisERR0R,项目名称:supercollider,代码行数:78,
示例17: textCursorvoid KNoteEdit::textIncreaseIndent(){ QTextBlockFormat f = textCursor().blockFormat(); f.setIndent( f.indent() + 1 ); textCursor().setBlockFormat( f );}
开发者ID:chusopr,项目名称:kdepim-ktimetracker-akonadi,代码行数:6,
示例18: textCursorvoid TextEditor::addSymbol(const QString& letter){ textCursor().insertText(letter);}
开发者ID:dezed,项目名称:mantid,代码行数:4,
示例19: switchvoid LiteEditorWidget::keyPressEvent(QKeyEvent *e){ if (m_completer && m_completer->popup()->isVisible()) { // The following keys are forwarded by the completer to the widget switch (e->key()) { case Qt::Key_Enter: case Qt::Key_Return: case Qt::Key_Escape: case Qt::Key_Tab: case Qt::Key_Backtab: e->ignore(); return; // let the completer do default behavior default: break; } } LiteEditorWidgetBase::keyPressEvent(e); const bool ctrlOrShift = e->modifiers() & (Qt::ControlModifier | Qt::ShiftModifier); if (!m_completer || (ctrlOrShift && e->text().isEmpty())) return; if (e->modifiers() & Qt::ControlModifier) { m_completer->popup()->hide(); return; } if (e->key() == Qt::Key_Tab || e->key() == Qt::Key_Backtab) { return; } //static QString eow("[email C++ textEdited函数代码示例 C++ tex函数代码示例
|