我正在使用QGraphicsView在QGraphicsScene中显示随机生成的多边形,并且一切正常,但现在我想向应用程序添加自定义UI样式,事实证明,手工做每件事都很烦人,而有许多很棒的选择,例如QtQuick。是否可以将QtQuick或类似的东西与graphicsView一起使用?
快速注释: 我是Qt的新手,所以这里可能会遗漏一些明显的东西!
编辑:
添加了一个图像进行说明,我只想修改滑块和按钮以具有自定义纹理!
答案 0 :(得分:1)
使用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();
}
答案 1 :(得分:0)
当您要在用户界面的那部分使用QML时,Romha Korev的答案是正确的。
另一个样式选项是使用样式表。参见Qt stylesheet reference
如果您难以在代码中设置小部件,请尝试Qt Designer。
我使用这两个工具来使用Qt制作样式化的UI应用程序,并且非常方便