qt - 使用 QGraphicsView 时,是否有一种“简单的方法”可以将自定义 UI 添加到 Qt 应用程序?
问题描述
我正在使用 QGraphicsView 在 QGraphicsScene 中显示随机生成的多边形,并且一切正常,但现在我想在我的应用程序中添加自定义 UI 样式,事实证明手动做所有事情都很烦人,虽然有有很多很棒的选择,比如 QtQuick。完全可以将 QtQuick 或类似的东西与 graphicsView 一起使用吗?
快速说明:我是 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();
}
推荐阅读
- reactjs - 必须单击两次才能设置状态,然后调用函数
- arrays - 在nodeJS中一起附加数组
- python - 将数据框中的所有数字除以一个常数
- django - 引用其他应用程序的 Django ManyToManyField 返回“app.model.None”
- css - 悬停时如何更改一列标题的形状?在角材料
- .net-core - Ef Core 插入具有关系的实体
- javascript - 为什么我的应用程序状态没有以角度 Ngrx 呈现给应用程序
- elasticsearch - 将具有 Elasticsearch 索引的本地目录挂载到 Minikube
- c# - 有没有办法向 Teams 的其他成员发送主动消息?
- c - 列表插入中 strcmp 的分段错误