crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> HelpBrowser
KLIF
  опции профиля:
сообщение 30.5.2010, 14:16
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 90
Регистрация: 19.5.2010
Пользователь №: 1739

Спасибо сказали: 0 раз(а)




Репутация:   0  


Помогите кто делал хелп для своего приложения......
Выложите пример или хоть какую то информацию......
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
KLIF
  опции профиля:
сообщение 30.5.2010, 15:19
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 90
Регистрация: 19.5.2010
Пользователь №: 1739

Спасибо сказали: 0 раз(а)




Репутация:   0  


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

Хочу увидеть код main cpp//
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 30.5.2010, 16:59
Сообщение #3


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(KLIF @ 30.5.2010, 19:19) *
Хочу увидеть код main cpp//
смотри их тут: %QTDIR%\examples\help
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
KLIF
  опции профиля:
сообщение 30.5.2010, 21:07
Сообщение #4


Студент
*

Группа: Участник
Сообщений: 90
Регистрация: 19.5.2010
Пользователь №: 1739

Спасибо сказали: 0 раз(а)




Репутация:   0  


Может кто нибудь выложить пример свой.....
Кто делал нелп для своего приложения плиз выложите код...
Заранее спс.....
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 2.6.2010, 19:58
Сообщение #5


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


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

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 килобайт ) Кол-во скачиваний: 69
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 3.12.2020, 13:54