gpt4 book ai didi

c++ - Qt Creator 中的 Gotoline

转载 作者:可可西里 更新时间:2023-11-01 09:17:56 27 4
gpt4 key购买 nike

好吧,我正在做一个 Goto Line System。但它似乎不起作用。以前是这样,但我想我把它弄坏了。

void ScriptWindow::gotoLine()
{
int line = QInputDialog::getInteger(myEdit, "Line Number","To what line do you want to go?", 1, 1, myEdit->document()->lineCount());
QTextCursor cursor = myEdit->textCursor();
myEdit->setTextCursor(cursor);
cursor.setPosition(QTextCursor::Start, QTextCursor::MoveAnchor);
while(cursor.position() == QTextCursor::Start) {
cursor.setPosition(line - 1, QTextCursor::MoveAnchor);
}
}

你能告诉我我做错了什么吗?

最佳答案

将光标位置设置为零,向下移动行数,并设置 myEdit 的文本光标。

QTextCursor cursor = myEdit->textCursor();
cursor.setPosition(0);
cursor.movePosition(QTextCursor::Down, QTextCursor::MoveAnchor, line-1);
myEdit->setTextCursor(cursor);

或者,通过 QTextDocument 找到位置,然后设置位置。

int pos = myEdit->document()->findBlockByLineNumber(line-1).position();
QTextCursor cursor = myEdit->textCursor();
cursor.setPosition(pos);
myEdit->setTextCursor(cursor);

关于c++ - Qt Creator 中的 Gotoline,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5128139/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com