lanmanck:牛逼啊,setStatusTip()在mainwindow好使,那么如何在别的dialog也有个statusbar并可用呢?
(2020-05-27 10:41)
dialog里只能自己实现了
1. 先new 一个QStatusBar *m_statusBar放入对话框的布局内
2. 然后需要重写Dialog界面类的事件过滤函数eventFilter。
bool Dialog::eventFilter(QObject *obj, QEvent *event)
{
if (event->type() == QEvent::HoverEnter) {
QWidget *pWidget = qobject_cast<QWidget *>(obj);
if (pWidget)
{
m_statusBar->showMessage(pWidget->statusTip());
}
}
else if (event->type() == QEvent::HoverLeave) {
m_statusBar->showMessage("");
}
return QDialog::eventFilter(obj, event);
}
3. 对控件安装事件过滤器
ui->pushButton_1->installEventFilter(this);
ui->pushButton_2->installEventFilter(this);