Показывать строку состояния сообщением по умолчанию

Я создал строку состояния в Qt. Я занимаюсь разработкой веб-браузера. Когда пользователь наводит на ссылку, в строке состояния отображается ссылка.

Это работает, но как мне установить текст по умолчанию, когда строка состояния пуста?

Есть ли возможность сделать это?

1

Решение

Если вы подключите linkHovered сигнал о QWebPage на панели состояния, вы не можете просто проверить, пусто ли оно, а затем отобразить любое сообщение, которое вам нравится?

Код ниже, кажется, делает то, что вы описываете, но, возможно, я неправильно понял, что вы спрашивали? Примечание: я просто создал 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

Позвольте мне знать, если это помогает.

1

Другие решения


По вопросам рекламы [email protected]