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

最佳答案

您可以将文本区域的 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/

10-12 18:21