作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我可以通过使用 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/
我是一名优秀的程序员,十分优秀!