[英]How do I display a border around a QWebEngineView?
我有一個 QGraphicsWidget,我用它來繪制和顯示許多項目,包括使用 QGraphicsProxyWidget 的 QWebEngineView。 我能夠將 Web 內容加載到 QWebEngineView,但我想讓視圖包含邊框。 我已經使用“setStyleSheet”嘗試添加邊框,但這似乎不起作用。 以下代碼在我的 QGraphicsWidget 類的構造函數中添加 QWebEngineView:
QWebEngineView * view = new QWebEngineView();
view->setFixedWidth(700);
view->setFixedHeight(200);
view->setStyleSheet("border: 10px border-color: black");
view->load(QUrl("qrc:/myresources/guidetext.html"));
QGraphicsProxyWidget * proxyView = new QGraphicsProxyWidget(this);
proxyView->setWidget(view);
通常,設置Qt::WA_StyledBackground屬性,然后設置正確的樣式表和內容邊距,如下所示:
view->setAttribute(Qt::WA_StyledBackground);
view->setStyleSheet("border: 1px solid black;");
view->setContentsMargins(1, 1, 1, 1);
應該做的伎倆。
但是,似乎QWebEngineView
不尊重內容邊距:
我建議您將QWebEngineView
另一個QWidget
子項,並為父窗口小部件設置樣式。
這是我為您准備的示例,說明如何更改代碼以實施建議的解決方案:
auto *proxyView = new QGraphicsProxyWidget();
auto *widget = new QWidget();
auto *view = new QWebEngineView(widget);
auto *l = new QVBoxLayout(widget);
l->addWidget(view);
l->setContentsMargins(1, 1, 1, 1);
widget->setAttribute(Qt::WA_StyledBackground);
widget->setStyleSheet("border: 1px solid black;");
widget->setFixedWidth(700);
widget->setFixedHeight(200);
view->load(QUrl("qrc:/myresources/guidetext.html"));
proxyView->setWidget(widget);
這是加載谷歌時的結果:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.