2015-01-19 9 views
-1

это очень глупый вопрос, но я не понимаю, почему ничего не дисплей в моих квартах консольного приложения, когда я использую QWebpage:Почему ничего не отображается, если я использую QWebPage

Это мой основной код:

#include <QCoreApplication> 
#include <QtWebKitWidgets> 
#include <QDebug> 
#include <stdio.h> 
#include <iostream> 

int main(int argc, char *argv[]) 
{ 
    QCoreApplication a(argc, argv); 

    /*QWebPage page; 
    page.settings()->setAttribute(QWebSettings::LocalStorageEnabled, true); 
    page.settings()->setAttribute(QWebSettings::AutoLoadImages, true); 
    page.settings()->setAttribute(QWebSettings::JavascriptEnabled, true); 
    page.settings()->setAttribute(QWebSettings::PrintElementBackgrounds, true); 
    page.settings()->setAttribute(QWebSettings::PluginsEnabled, true); 
    page.mainFrame()->load(QUrl("http://myflowerpower.parrot.com/#plantdb/3")); 
    qDebug() << "source html : \n"; 
    qDebug() << page.currentFrame()->toHtml(); 
    QString htmlResult = page.currentFrame()->toHtml();*/ 

    printf("test"); 
    std::cout << "test std::cout\n"; 
    qDebug() << "Debug Message"; 
    qWarning() << "Warning Message"; 
    qCritical() << "Critical Error Message"; 
    bool result = a.exec(); 

    return result; 
} 

Если я раскомментирую код, ничего не отображается, но если я прокомментирую материал QWebpage, это будет работать без проблем. Есть идеи?

ответ

2

QCoreApplication не может обрабатывать элементы графического интерфейса.

Вместо этого вы должны использовать QApplication, чтобы поддерживать графический интерфейс и структуру событий.

И убедитесь, что у вас есть то, что необходимо в вашем файле .pro.

QT += widgets webkitwidgets 

Надеюсь, что это поможет.

+0

Это работа! QtCreator отстой, я создал новое «консольное приложение», а минимальный код сгенерировал использование 'QCoreApplication' вместо' QApplication' – Nymeria