Всем привет! Начинающий изучать qt, да и c++ наверное. При попытке выполнить - сообщение:
QWidget: Cannot create a QWidget when no GUI is being used
Аварийный останов
Так же собирается с: указанием:
-I/usr/include/qt4/QtGui
Буду премного благодарен, если взгляните на код в конце сообщения и поможете разобраться.
Я вообще не очень еще понимаю, как это делается. Но задача пока такая(этап):
- По урлу скачать html страницу, занести чистый текст(выдрать его без тегов, можно кстати и с ними) в какое-нибудь «хранилище».
- В этом хранилище найти фразу по шаблону ip:port.
Для начала хотел просто вывести чистый текст в консоль. Правда, что qstring вообще не годится для этого? Тогда что использовать? Куда вставлять этот текст, в контейнер или qtextstream?
Правильно ли фраза: pars_page = page.mainFrame()->toPlainText(); и почему :)
Чего я не понимаю и где про это почитать?
Спасибо большое!
main.cpp
#include <QCoreApplication>
#include "parser.h"
int main(int argc, char** argv)
{
QCoreApplication app(argc, argv);
Parser plist("http://moreproxies.blogspot.ru/2012/12/alive-and-alive-ssl-proxies-19122012.html");
plist.getData();
return app.exec();
}
parser.h
#ifndef parser_h
#define parser_h
#include <QtCore/QObject>
#include <QMap>
#include <QString>
#include <iostream>
#include <QWebFrame>
#include <QWebPage>
#include <QUrl>
class Parser: public QObject
{
Q_OBJECT
public:
Parser(const QString tmp_url);
~Parser();
void getData();
void parse();
private:
QUrl url;
QMap <QString, QString> pars_proxy;
QWebPage page;
//QWebFrame frame;
private slots:
void render();
};
#endif //parser_h
oarser.cpp
#include "parser.h"
#include <QDebug>
Parser::Parser(const QString tmp_url)
{
url.setUrl(tmp_url);
qDebug()<<"sda";
connect( &page, SIGNAL(loadFinished(bool)), this, SLOT(render()) );
}
Parser::~Parser()
{
};
void Parser::render()
{
parse();
}
void Parser::getData()
{
page.mainFrame()->load(url);
}
void Parser::parse()
{
QString pars_page;
pars_page = page.mainFrame()->toPlainText();
// frame = page.mainFrame();
// pars_page = frame.toPlainText();
qDebug() << pars_page;
}