1

QWebEngine をウィンドウ全体に表示しようとしています。この回答に従って、以下の結果で使用しようとしてsetContentsMargins(0,0,0,0);います: QWebEngine はページをフルウィンドウサイズでロードしますが、すぐにこれに縮小します:

ここに画像の説明を入力

レイアウトでを使用するsetContentsMargins(1,1,1,1);QWebEngine、1 ピクセルのマージンで正しく読み込まれます。マージンなしで画像を直接ロードするだけのテストを行ったところ、正常にロードされて画面いっぱいになりました。

これは私のバグ/問題QWebEngine'sですか?


#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QtWebEngineWidgets>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QVBoxLayout *mainLayout = new QVBoxLayout;
    mainLayout->setContentsMargins(0,0,0,0);
    ui->centralWidget->setLayout(mainLayout);

//    // load and show image
//    inputImg = new QImage(":/images/testScreen.jpg");
//    imgDisplayLabel = new QLabel("");
//    imgDisplayLabel->setPixmap(QPixmap::fromImage(*inputImg));
//    imgDisplayLabel->adjustSize();
//     mainLayout->addWidget(imgDisplayLabel);

    view = new QWebEngineView(this);
     mainLayout->addWidget(view);

    QUrl url;
    url = QUrl("qrc:/testScreen.html");
    view->load(url);
}
4

1 に答える 1

1

これは私にとってはうまくいっていますが、Windows プラットフォームでテストしています。簡潔にするために、ここではコンストラクターの定義をインライン化しました。

class MainWindow : public QWidget
{
    Q_OBJECT

public:
    MainWindow() {
        auto webView = new QWebEngineView(this);
        auto main_layout = new QVBoxLayout(this);
        main_layout->setMargin(0);
        main_layout->addWidget(webView);
    }
};

そして、htmlは次のようになります。

<!DOCTYPE html>
<html style="width: 100%; height: 100%; margin: 0; padding: 0">
  <body style="overflow: hidden; width: 100%; height: 100%; margin: 0; padding: 0">
  </body>
</html>
于 2016-07-24T03:39:14.193 に答える