我的程序为什么无法在状态栏显示光标的行和列呢?检查好久不知为啥。以下是我部分程序,我是初学者,请各位大侠多指教。
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QtGui>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
isSaved=false;
curFile=tr("未命名.txt");
setWindowTitle(curFile);
init_statusBar();
connect(ui->textEdit,SIGNAL(cursorPositionChanged()),this,SLOT(do_cursorChange()));
}
void MainWindow::init_statusBar()
{
QStatusBar*bar=ui->statusBar;//获取状态栏
first_statusLabel=new QLabel;
first_statusLabel->setMinimumSize(150,20);
first_statusLabel->setFrameShape(QFrame::WinPanel);
first_statusLabel->setFrameShadow(QFrame::Sunken);
second_statusLabel=new QLabel;
second_statusLabel->setMinimumSize(150,20);
second_statusLabel->setFrameShape(QFrame::WinPanel);
second_statusLabel->setFrameShadow(QFrame::Sunken);
bar->addWidget(first_statusLabel);
bar->addWidget(second_statusLabel);
first_statusLabel->setText(tr("欢迎使用文本编辑框"));//显示编辑框
second_statusLabel->setText(tr("luoqice make!"));
}
void MainWindow::do_cursorChange()
{
int rowNum=ui->textEdit->document()->blockCount();
//获取光标所在的行号
const QTextCursor cursor=ui->textEdit->textCursor();
int colNum=cursor.columnNumber();
//获取光标所在的列号
first_statusLabel->setText(tr("%1 行 %2 列").arg(rowNum).arg(colNum));
//在状态栏显示光标
}