CSS 3D サポートで QtWebKit を使用する必要があるため、QGraphicsWebView と QGLWidget を使用しました。コードは次のようになります。
MainWindow.hpp:
#include <QMainWindow>
#include <QGraphicsScene>
#include <QGraphicsView>
#include <QGraphicsWebView>
class MainWindow : public QMainWindow {
Q_OBJECT;
public:
MainWindow(const char *url);
void init();
private:
QGraphicsView *gview;
QGraphicsScene *scene;
QGraphicsWebView *web_view;
};
MainWindow.cpp:
#include "MainWindow.hpp"
#include <QWebSettings>
#include <QGLWidget>
#include <QStatusBar>
MainWindow::MainWindow(const char *url) {
setWindowTitle("QTWebKit Experiment");
QWebSettings::globalSettings()->setAttribute(QWebSettings::AcceleratedCompositingEnabled, true);
gview = new QGraphicsView(this);
gview->setViewportUpdateMode(QGraphicsView::FullViewportUpdate);
gview->setViewport(new QGLWidget(this));
scene = new QGraphicsScene(gview);
web_view = new QGraphicsWebView();
scene->addItem(web_view);
gview->setScene(scene);
web_view->load(QString(url));
web_view->setResizesToContents(true);
setCentralWidget(gview);
}
void MainWindow::init() {
show();
}
問題は、web_viewが QMainWindow ウィジェットを埋めないことです。ウェブサイトをウィンドウいっぱいにするにはどうすればよいですか?