如何在QT状态栏中插入窗口显示信息
- 新建QLabel成员 QLabel* m_statusLabel
//右下角状态栏显示坐标用
m_statusLabel = new QLabel;
m_statusLabel->resize(100, 30);
ui.statusBar->addPermanentWidget(m_statusLabel);
-
addPermanentWidget(m_statusLabel);
代表在状态栏右下角插入QLabel控件 -
重写鼠标移动事件
void mouseMoveEvent(QMouseEvent * event)
{
double x = event->pos().x();
double y = event->pos().y();
QString str = "(" + QString::number(x) + "," + QString::number(y) + ")";
m_statusLabel->setText(str);
}
获取坐标值后,将m_statusLabel的内容设置为坐标值。
利用以上程序实现后,用户需要点击屏幕才可以获取坐标值,这是因为QWidget中mouseTracking默认是false的,即当用户点击鼠标一次后,才开始追踪鼠标位置,如果将该值置为true就可以实现鼠标移动即追踪位置。
网友评论