代码之家  ›  专栏  ›  技术社区  ›  Xolve

qtwebkit:控制台应用程序

  •  6
  • Xolve  · 技术社区  · 14 年前

    我是QT新手。

    我正在构建一个控制台应用程序,我需要处理大量真实的HTML页面。qtwebkit是一个简单的选择,因为它有清晰的API和简单的可用性。

    我签出了文档,他们说我可以使用qwebview::load()加载页面。但是我正在构建一个控制台应用程序,我不能使用小部件。我得到的错误是: ?

    QWidget: Cannot create a QWidget when no GUI is being used
    The program has unexpectedly finished.
    

    因此,我如何在控制台应用程序中使用qtwebkit处理HTML页面。

    2 回复  |  直到 9 年前
        1
  •  9
  •   CHW mmoment    9 年前

    qtwebkit可以在无小部件的环境中使用,但不能用qcoreapplication执行。

    解决方案是使用假X服务器来执行程序。

    安装XVFB,然后:

    xvfb-run --server-args="-screen 0 1024x768x24" ./framecapture google.cat google.png
    

    PD:使用文档中的framecapture webkit示例: http://doc.qt.io/archives/qt-4.7/webkit-framecapture.html

        2
  •  6
  •   Alex Kir Job    12 年前

    QWebPage 可以在无窗口小部件的环境中使用。

    要加载页面,请执行如下操作

    QWebPage page;
    QUrl url = ...;
    page.mainFrame()->load(url);
    

    要访问DOM树,可以使用 QWebFrame::documentElement() . 见 API 如何使用它。