【发布时间】:2018-05-21 20:18:59
【问题描述】:
我正在尝试在 QT c++ 中制作一个类似记事本的应用程序,现在我正在尝试实现一个简单的状态栏,告诉用户光标所在的行和列。
我一直在使用这样的连接功能:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
connect(ui->textEdit, SIGNAL(cursorPositionChanged()), this, SLOT(MainWindow::showCursorPosition()));
.
.
}
我有这样定义的 showCursorPosition 方法:
void MainWindow::showCursorPosition(){
int line = ui->textEdit->textCursor().blockNumber()+1;
int column = ui->textEdit->textCursor().columnNumber()+1;
ui->statusBar->showMessage(QString("Line %1 Column %2").arg(line).arg(column));
}
该方法有效,我很确定,因为我从构造函数中调用了它,它在状态栏中显示“第 1 行第 1 列”。
但连接功能似乎无法正常工作,我似乎无法弄清楚我做错了什么。
【问题讨论】:
标签: qt connect text-editor