在Qt窗口中使用QQuickWidget时显示错误

时间:2016-01-08 02:30:59

标签: qt qml

我曾尝试使用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应用程序的背景?

1 个答案:

答案 0 :(得分:0)

我之前已经测试了一些演示,你可能需要使用绝对定位来在gui.cpp中布局你的小部件。