显示状态栏默认消息

Show status bar a default message

我在 Qt 中创建了一个状态栏。我正在开发一个网络浏览器。当用户悬停 link 时,状态栏显示 link 悬停。

可以,但是如何在状态栏为空白时设置默认文本?

有什么选择吗?

如果你把QWebPagelinkHovered信号接到statusBar上,你是不是可以简单的检查它是否为空,然后显示你喜欢的任何信息?

下面的代码似乎符合您的描述,但也许我误解了您的要求?注意:我只是简单地创建了一个 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.whosebug.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

如果这有帮助,请告诉我。