c++ - Qt简单记事本,QmainWindow状态栏打印行号

标签 c++ qt qmainwindow qstatusbar

我已经从 Qt/C++ 创建了简单的记事本。当我点击文本区域的某处时,我想在 QMainWindow 的状态栏上打印行号,例如 Microsoft Windows 的记事本

Status bar with line number

最佳答案

您可以连接 cursorPositionChanged()将文本区域信号发送到 QMainWindow 的自定义插槽:

// the connection
connect(ui->plainTextEdit, SIGNAL(cursorPositionChanged()), this, SLOT(showCursorPos()));
// your custom slot
void MainWindow::showCursorPos()
{
    int line = ui->plainTextEdit->textCursor().blockNumber()+1;
    int pos = ui->plainTextEdit->textCursor().columnNumber()+1;
    ui->statusBar->showMessage(QString("Ln %1, Col %2").arg(line).arg(pos));
}

关于c++ - Qt简单记事本,QmainWindow状态栏打印行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47885231/

相关文章:

c++ - 将两个功能合二为一

c++ - qVariantValue 是 "QT_DEPRECATED"- 替换的是什么?

qt - Qt 中的 PDF 查看器

qt - 存储 qdialog 中的变量以在 qmainwindow 中使用

python - PyQt5 - 如何在 QMainWindow 类中显示图像?

c++ - 返回引用与类型

c++ - 在动态分配的数组上使用 auto_ptr 的正确方法是什么?

c++ - QMainWindow::keyReleaseEvent 未按预期工作

c++ - 无法通过 CHttpFile 发送 POST 请求 - C++/MFC

c++ - 柴油发电机驱动算法