crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в HelpBrowser
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
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();
}


У меня только один вопрос: почему подсказку из ресурсов подгрузить нельзя?
KLIF Дата 30.5.2010, 21:07
  Может кто нибудь выложить пример свой.....
Кто делал нелп для своего приложения плиз выложите код...
Заранее спс.....
Litkevich Yuriy Дата 30.5.2010, 16:59
 
Цитата(KLIF @ 30.5.2010, 19:19) *
Хочу увидеть код main cpp//
смотри их тут: %QTDIR%\examples\help
KLIF Дата 30.5.2010, 15:19
 
Цитата(KLIF @ 30.5.2010, 14:16) *
Помогите кто делал хелп для своего приложения......
Выложите пример или хоть какую то информацию......

Хочу увидеть код main cpp//
KLIF Дата 30.5.2010, 14:16
  Помогите кто делал хелп для своего приложения......
Выложите пример или хоть какую то информацию......
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 18.4.2024, 15:52