显示状态栏默认消息
Show status bar a default message
我在 Qt 中创建了一个状态栏。我正在开发一个网络浏览器。当用户悬停 link 时,状态栏显示 link 悬停。
可以,但是如何在状态栏为空白时设置默认文本?
有什么选择吗?
如果你把QWebPage
的linkHovered
信号接到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
如果这有帮助,请告诉我。
我在 Qt 中创建了一个状态栏。我正在开发一个网络浏览器。当用户悬停 link 时,状态栏显示 link 悬停。
可以,但是如何在状态栏为空白时设置默认文本?
有什么选择吗?
如果你把QWebPage
的linkHovered
信号接到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
如果这有帮助,请告诉我。