2012-07-10 49 views
0
#include "framecapture.h" 

#include <iostream> 
#include <QtWidget> 

int main(int argc, char * argv[]) 
{ 
    if (argc != 3) { 
     std::cout << "Capture a web page and save its internal frames in different images" << std::endl << std::endl; 
     std::cout << " framecapture <url> <outputfile>" << std::endl; 
     std::cout << std::endl; 
     std::cout << "Notes:" << std::endl; 
     std::cout << " 'url' is the URL of the web page to be captured" << std::endl; 
     std::cout << " 'outputfile' is the prefix of the image files to be generated" << std::endl; 
     std::cout << std::endl; 
     std::cout << "Example: " << std::endl; 
     std::cout << " framecapture qt.nokia.com trolltech.png" << std::endl; 
     std::cout << std::endl; 
     std::cout << "Result:" << std::endl; 
     std::cout << " trolltech.png (full page)" << std::endl; 
     std::cout << " trolltech_frame1.png (...) trolltech_frameN.png ('N' number of internal frames)" << std::endl; 
     return 0; 
    } 

    QUrl url = QUrl::fromUserInput(QString::fromLatin1(argv[1])); 
    QString fileName = QString::fromLatin1(argv[2]); 

    QApplication a(argc, argv); 
    FrameCapture capture; 
    QObject::connect(&capture, SIGNAL(finished()), QApplication::instance(), SLOT(quit())); 
    capture.load(url, fileName); 

    return a.exec(); 
} 

我得到的QtWidget文件或目錄未找到。當我使用了QWidget,它會說試圖讓Qt4例子在安裝了Qt Creator 4的Ubuntu 10.10上運行

/home/me/qtwebkit-examples-and-demos/examples/webkit/framecapture-build-desktop/../framecapture/main.cpp:68: error: variable ‘QApplication a’ has initializer but incomplete type

/home/me/qtwebkit-examples-and-demos/examples/webkit/framecapture-build-desktop/../framecapture/main.cpp:70: error: incomplete type ‘QApplication’ used in nested name specifier

我不知道爲什麼沒有從git的例子://gitorious.org/+qt-developers/qt/qtwebkit-examples-and-demos- staging.git正在工作。它似乎總是抱怨#包含找不到所需的組件。

回答

1

您將只需包含QApplication。那就是:

#include <QApplication> 

如果我沒有記錯的話有沒有這樣的包括文件<QtWidget>反正。那應該是<QWidget>。鑑於具體的例子,我預計一般包括<QtGui>

+0

這工作,但我很好奇他們爲什麼仍然使用QtWidget,並沒有打擾包括QApplication。他們是否可以使用舊版Qt?謝謝!! – KJW 2012-07-10 08:45:05

+0

正如我的預期(並在我的回答中指出),該文件實際上包含''而不是'',正如您在上面的答案中所述。 (我已經從剛剛鏈接的git中獲得了源代碼)。所以他們最近改變了它或者你編輯了它。包括QtGui將包括所有相關的文件,所以應該工作得很好。 – Bart 2012-07-10 08:50:58