我曾尝试使用QQuickWidget作为我的应用程序的背景。 我创建了两个类:KViewer(加载QML文件)和GUI(应用程序的主GUI)
GUI.cpp
GUI::GUI(QWidget *parent)
: QWidget(parent)
{
setFixedSize(500, 500);
QHBoxLayout* layout = new QHBoxLayout(this);
KViewer* viewer = new KViewer(this);
viewer->resize(size());
QLabel* label = new QLabel("TEXT HERE");
label->setFixedSize(400, 400);
label->setAlignment(Qt::AlignCenter);
label->setStyleSheet("QLabel {"
"background-color: yellow;"
"border-radius: 6px;"
"}");
layout->addWidget(label);
}
和KViewer.cpp
QHBoxLayout* layout = new QHBoxLayout(this);
layout->setSpacing(0);
layout->setMargin(0);
QQuickWidget* mQQuickWidget = new QQuickWidget;
mQQuickWidget->setResizeMode(QQuickWidget::SizeRootObjectToView);
mQQuickWidget->setSource(QUrl("qrc:/qml/main.qml"));
layout->addWidget(mQQuickWidget);
我收到了什么
Label corner with border-radius problem
我的标签角落出了问题。为什么这里有黑色?请帮我解决这个问题。有没有其他方法可以使用QML对象作为Qt应用程序的背景?
答案 0 :(得分:0)
我之前已经测试了一些演示,你可能需要使用绝对定位来在gui.cpp中布局你的小部件。