Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt GUI _ HelpBrowser

Автор: KLIF 30.5.2010, 14:16

Помогите кто делал хелп для своего приложения......
Выложите пример или хоть какую то информацию......

Автор: KLIF 30.5.2010, 15:19

Цитата(KLIF @ 30.5.2010, 14:16) *
Помогите кто делал хелп для своего приложения......
Выложите пример или хоть какую то информацию......

Хочу увидеть код main cpp//

Автор: Litkevich Yuriy 30.5.2010, 16:59

Цитата(KLIF @ 30.5.2010, 19:19) *
Хочу увидеть код main cpp//
смотри их тут: %QTDIR%\examples\help

Автор: KLIF 30.5.2010, 21:07

Может кто нибудь выложить пример свой.....
Кто делал нелп для своего приложения плиз выложите код...
Заранее спс.....

Автор: igor_bogomolov 2.6.2010, 19:58

Вот рабочий пример.

help_window.h
#ifndef HELP_WINDOW_H
#define HELP_WINDOW_H

#include <QWidget>
#include <QTextBrowser>

class QPushButton;
class QHelpEngineCore;


class HelpBrowser : public QTextBrowser
{
    Q_OBJECT
    Q_DISABLE_COPY(HelpBrowser);

public:
    explicit HelpBrowser(QWidget *parent = 0);
    virtual QVariant loadResource(int type, const QUrl &name);

private:
    QHelpEngineCore *helpEngine;
};


class HelpWindow: public QWidget
{
    Q_OBJECT
public:
    explicit HelpWindow(QWidget *parent=0);

private:
    QPushButton *m_ppbBackward;
    QPushButton *m_ppbForward;
    QPushButton *m_ppbHome;

    HelpBrowser *m_ptxbHelp;
};

#endif // HELP_WINDOW_H
help_window.cpp
#include "help_window.h"

#include <QtGui/QGridLayout>
#include <QtGui/QPushButton>
#include <QtHelp/QHelpEngineCore>

HelpBrowser::HelpBrowser(QWidget *parent) : QTextBrowser(parent)
{
    QString collectionFile = QLatin1String("/tmp/test/simpletextviewer.qhc");
    QString documentationFile = QLatin1String("/tmp/test/simpletextviewer.qch");

//    QString collectionFile = QLatin1String(":/help/simpletextviewer.qhc");
//    QString documentationFile = QLatin1String(":/help/simpletextviewer.qch");

    helpEngine = new QHelpEngineCore(collectionFile);

    helpEngine->setupData();
    helpEngine->unregisterDocumentation(helpEngine->namespaceName(documentationFile));
    helpEngine->registerDocumentation(documentationFile);

    setSource(QString(QLatin1String("qthelp://com.trolltech.examples.simpletextviewer/doc/index.html")));
}

QVariant HelpBrowser::loadResource(int type, const QUrl &name)
{
     QByteArray ba;
     if (type < 4) {
         ba = helpEngine->fileData(name);
         if (name.toString().endsWith(QLatin1String(".svg"), Qt::CaseInsensitive)) {
             QImage image;
             image.loadFromData(ba, "svg");
             if (!image.isNull())
                 return image;
         }
     }
     return ba;
}



HelpWindow::HelpWindow(QWidget *parent)
    :QWidget(parent)
{
    m_ppbBackward = new QPushButton(QLatin1String("<<"), this);
    m_ppbForward = new QPushButton(QLatin1String(">>"), this);
    m_ppbHome = new QPushButton(tr("Home"), this);

    m_ptxbHelp = new HelpBrowser(this);

    QGridLayout *grid = new QGridLayout(this);

    grid->addWidget(m_ppbBackward, 0,0);
    grid->addWidget(m_ppbHome, 0,1);
    grid->addWidget(m_ppbForward, 0,2);
    grid->addWidget(m_ptxbHelp, 1,0, 1,3);

    connect(m_ppbBackward, SIGNAL(clicked()), m_ptxbHelp, SLOT(backward()));
    connect(m_ppbForward,  SIGNAL(clicked()), m_ptxbHelp, SLOT(forward()));
    connect(m_ppbHome,     SIGNAL(clicked()), m_ptxbHelp, SLOT(home()));
    connect(m_ptxbHelp,    SIGNAL(backwardAvailable(bool)), m_ppbBackward, SLOT(setEnabled(bool)));
    connect(m_ptxbHelp,    SIGNAL(forwardAvailable(bool)),  m_ppbForward,  SLOT(setEnabled(bool)));

    setWindowTitle(tr("Help Window"));
}
main.cpp
#include "help_window.h"
#include <QApplication>

int main (int argc, char ** argv)
{
    QApplication app(argc, argv);
    HelpWindow *helpWindow =  new HelpWindow();
    helpWindow->show();
    return app.exec();
}


У меня только один вопрос: почему подсказку из ресурсов подгрузить нельзя?

 test.zip ( 91.11 килобайт ) : 115
 

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)