首页 > 解决方案 > 使用 QGraphicsView 时,是否有一种“简单的方法”可以将自定义 UI 添加到 Qt 应用程序?

问题描述

我正在使用 QGraphicsView 在 QGraphicsScene 中显示随机生成的多边形,并且一切正常,但现在我想在我的应用程序中添加自定义 UI 样式,事实证明手动做所有事情都很烦人,虽然有有很多很棒的选择,比如 QtQuick。完全可以将 QtQuick 或类似的东西与 graphicsView 一起使用吗?

快速说明:我是 Qt 新手,所以我可能在这里遗漏了一些明显的东西!

编辑:
添加了一张图片进行说明,我只想修改滑块和按钮以具有自定义纹理!

在此处输入图像描述

标签: qt

解决方案


使用QQuickWidget该类在 Qt 小部件中嵌入 QML 视图。

例如:

// main.qml
Item {
    id: main
    visible: true
    width: 200

    Column {
        ComboBox {
            model: ["Option 1", "Option 2", "Option 3"]
        }

        Slider {
        }
        Slider {
        }
        Slider {
        }
    }
}
// main.cpp
#include <QQuickWidget>

int main(int argc, char *argv[])
{

    QApplication app(argc, argv);


    QQuickWidget *view = new QQuickWidget;
    view->setSource(QUrl(QStringLiteral("qrc:/main.qml")));

    QWidget* widget = new QWidget();
    QHBoxLayout* layout = new QHBoxLayout(widget);
    layout->addWidget(view);
    layout->addWidget(new QLabel("A classic widget"));

    widget->show();
    return app.exec();
}

在此处输入图像描述


推荐阅读