gpt4 book ai didi

qt - 如何获取实际可见光标的行号

转载 作者:行者123 更新时间:2023-12-04 13:26:55 25 4
gpt4 key购买 nike

我可以通过使用 QTextEdit.textCursor().blockNumber() 来获取光标所在的行,但是当一行变成多行时,它无法返回实际的行号。

我怎样才能做到这一点?

最佳答案

我不确定它会起作用,所以我写了一个快速测试应用程序(Qt 5.0.1)并且它有效,这里是它的一部分:

void MainWindow::on_plainTextEdit_cursorPositionChanged()
{
QPlainTextEdit *edit = qobject_cast<QPlainTextEdit *>(sender());
Q_ASSERT(edit);
QTextCursor cursor = edit->textCursor();
cursor.movePosition(QTextCursor::StartOfLine);

int lines = 1;
while(cursor.positionInBlock()>0) {
cursor.movePosition(QTextCursor::Up);
lines++;
}
QTextBlock block = cursor.block().previous();

while(block.isValid()) {
lines += block.lineCount();
block = block.previous();
}
ui->label->setText(QString::number(lines));
}

关于qt - 如何获取实际可见光标的行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15814776/

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