显示状态栏默认消息



我在Qt中创建了一个状态栏。我正在开发一个网络浏览器。当用户将鼠标悬停在链接上时,状态栏将显示链接已悬停。

这有效,但是当状态栏为空时如何设置默认文本?

有什么选择可以做到这一点吗?

如果将QWebPagelinkHovered信号连接到状态栏,难道不能简单地检查它是否为空,然后显示您喜欢的任何消息吗?

下面的代码似乎按照您的描述进行操作,但也许我误解了您在问什么?注意:我只是创建了一个默认具有状态栏的QMainWindow

#ifndef MYMAINWINDOW_H
#define MYMAINWINDOW_H
#include <QMainWindow>
#include "ui_mainwindow.h"
class MainWindow: public QMainWindow, private Ui::MainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0) : QMainWindow(parent), defaultMessage("Default Message")  {
setupUi(this);
webView->load(QUrl("http://www.stackoverflow.com"));
this->statusBar()->showMessage(defaultMessage);
connect(webView->page(),SIGNAL(linkHovered(const QString & , const QString & , const QString & )),
this, SLOT( hovered(const QString & , const QString & , const QString & ) ) );
}
public slots:
void hovered(const QString & link, const QString & title, const QString & textContent) {
this->statusBar()->showMessage(link == "" ?  defaultMessage : link);
}
private:
QString defaultMessage;
};
#endif

让我知道这是否有帮助。

最新更新