Russian Qt Forum
Октябрь 01, 2024, 00:41 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Помогите плиз QTextBrowser,,,,,  (Прочитано 3113 раз)
Pariah_War
Гость
« : Май 31, 2010, 00:05 »

Помогите.....Выложите рабочий примет по созданию хелпа....
Я уже все перепробывал и с книг  примеры набирал и сам пытался писать...
Ни чего не помогает .....
Записан
Pariah_War
Гость
« Ответ #1 : Май 31, 2010, 10:11 »

вот мой файл  main.cpp
Код:
#include <QtGui/QApplication>
#include "helpbrowser.h"

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    HelpBrowser w;
   // w.show();
    return w.exec();
}
Записан
Pariah_War
Гость
« Ответ #2 : Май 31, 2010, 10:14 »

Вот мой mainwindow.cpp
Код:
#include <qapplication.h>
#include <qlayout.h>
#include <QPushButton>
#include <qtextbrowser.h>
#include "helpbrowser.h"
#include <QHBoxLayout>
#include <QVBoxLayout>

HelpBrowser::HelpBrowser(const QString &path, const QString &page,
QWidget *parent, const char *name)
        //: QWidget(parent, Qt::WA_GroupLeader |Qt::WA_DeleteOnClose)
{
    setAttribute(Qt::WA_DeleteOnClose);
    setAttribute (Qt::WA_GroupLeader);

textBrowser = new QTextBrowser(this);
homeButton = new QPushButton(tr("&Home"), this);
backButton = new QPushButton(tr("&Back"), this);
closeButton = new QPushButton(tr("Close"), this);
closeButton->setShortcut(tr("Esc"));

//QVBoxLayout *mainLayout = new QVBoxLayout(this);
QHBoxLayout *buttonLayout = new QHBoxLayout;//(mainLayout);
buttonLayout->addWidget(homeButton);
buttonLayout->addWidget(backButton) ;
buttonLayout->addStretch();
buttonLayout->addWidget(closeButton);

QVBoxLayout *mainLayout = new QVBoxLayout ;
mainLayout->addLayout(buttonLayout) ;
mainLayout->addWidget(textBrowser);
setLayout(mainLayout);

connect(homeButton, SIGNAL(clicked()),textBrowser, SLOT(home()));
connect(backButton, SIGNAL(clicked()),textBrowser, SLOT(backward()));
connect(closeButton ,SIGNAL(clicked()),this , SLOT(close()));
connect(textBrowser, SIGNAL(sourceChanged(const QString &)),
        this, SLOT(updateWindowTitle()));
textBrowser->setSearchPaths(QStringList() << path << ":/images");
textBrowser->setSource(page);
}

void HelpBrowser::updateWindowTitle()
{
    setWindowTitle(tr("Help: %1").arg(textBrowser->documentTitle()));
    //setCaption(tr("Help: %1").arg(textBrowser->documentTitle()));
}
void HelpBrowser::showPage(const QString &page)
{
QString path = qApp->applicationDirPath() + "/doc";
HelpBrowser *browser = new HelpBrowser(path, page);
browser->resize(500, 400);
browser->show();
}

не хочет работать ....
ошибка - no matching function to :: HelpBrowser
 что не так вроде все как в примере...
Записан
Гурман
Гуру общения
******
Offline Offline

Сообщений: 1442

Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12


Просмотр профиля
« Ответ #3 : Май 31, 2010, 20:02 »

мнда... no matching function - это когда у класса есть похожие методы на вызываемый или описываемый, но точно такого же, с такими же параметрами, как производится попытка вызвать - такого нет

в данном случае описан конструктор с параметрами HelpBrowser::HelpBrowser(const QString &path, const QString &page, QWidget *parent, const char *name), но в коде main.cpp такой конструктор нигде не вызван

с таким знанием С++ за написание какого-либо кода не стоит даже думать, чтобы браться... обратно надо идти, к Трупу Страуса...
Записан

2^7-1 == 127, задумайтесь...
Pariah_War
Гость
« Ответ #4 : Июнь 01, 2010, 18:33 »

Да я завтыкал .....
Извините я новичок но не до такой степени .... =)))
...................................
.Может кто скинуть рабочий пример нелпа.
Заранее спасибо !!!!!!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.132 секунд. Запросов: 22.