您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ textCursor函数代码示例

51自学网 2021-06-03 08:46:46
  C++
这篇教程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: c

void 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: setCenterOnScroll

bool 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: textCursor

void 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: textCursor

QString LiteEditorWidget::wordUnderCursor() const{    QTextCursor tc = textCursor();    tc.select(QTextCursor::WordUnderCursor);    return tc.selectedText();}
开发者ID:priest671,项目名称:liteide,代码行数:6,


示例8: plt

void 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: textCursor

void 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: document

bool Console::inCommandLine() const{    return document()->blockCount()-1 == textCursor().blockNumber() && textCursor().positionInBlock() >= m_prefix.length();}
开发者ID:wdobbie,项目名称:Nexpo,代码行数:4,


示例11: textCursor

QString Console::currentWord() const{    QTextCursor cur = textCursor();    cur.select(QTextCursor::WordUnderCursor);    return cur.selectedText();}
开发者ID:wdobbie,项目名称:Nexpo,代码行数:6,


示例12: processCommand

void 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: textCursor

bool 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: findNextAvailable

bool 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: c

bool 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: textCursor

void KNoteEdit::textIncreaseIndent(){  QTextBlockFormat f = textCursor().blockFormat();  f.setIndent( f.indent() + 1 );  textCursor().setBlockFormat( f );}
开发者ID:chusopr,项目名称:kdepim-ktimetracker-akonadi,代码行数:6,


示例18: textCursor

void TextEditor::addSymbol(const QString& letter){	textCursor().insertText(letter);}
开发者ID:dezed,项目名称:mantid,代码行数:4,


示例19: switch

void 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函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。