我想开发一个类似于Pure Data的应用程序(在C ++中),但是有一个很酷的GUI和更好的文档...是的,像Max/MSP或Reaktor之类的东西,但是自由开放!
为了创建一个吸引人的,反应性的和可移植的界面,我正在考虑使用OpenGL。 在我看来,有Blender GUI之类的东西。
在开始开发我的自定义GUI工具包之前,我用Google搜索了解是否存在可以使用的东西,我发现:
你知道其他工具包吗?如您所知,我正在寻找一个可移植的库(使用C ++),快速且受支持。
另一种可能性是从头开始使用SDL或Freeglut我的自定义工具包,在这种情况下可能是最好的解决方案吗?
P.S .: 阅读有关此主题的其他主题我注意到许多开发人员建议使用Qt ... Qt可以依赖OpenGL进行渲染吗?或者它只能 主机OpenGL画布?无论如何,您认为在Qt中可以创建类似的东西(具有良好的性能)
答案 0 :(得分:1)
实际上没有一个好的openGL工具包,它们往往是针对特定的应用程序发明的,然后被抛弃了。
是的Qt与openGL配合得很好,有一个带有完全硬件加速的openGL QGlWidget(和openCL的可选链接)。你可以在Qt应用程序中拥有任意数量的QGLwidgets - 每个都有自己的openGL命令。
您也可以将Qt和openGL混合在同一个QGlWidget中(http://doc.qt.nokia.com/qq/qq26-openglcanvas.html)
稍微偏离主题:你也可以选择Qt来使用openGL进行渲染 - 这仍然有点实验性,但这意味着2d Qt在某些嵌入式平台上可以快得多。如手机。 编辑:澄清 - 整个应用程序仍然是正常Qt,但使用openGL命令'引擎盖'
答案 1 :(得分:1)
我喜欢Clutter和MX。
请参阅http://www.clutter-project.org/和https://github.com/clutter-project/mx
答案 2 :(得分:1)
Qt 5.7及以上版本提供了QML中的QtQuick Controls 2.0,它们是在OpenGL中实现的。
http://doc.qt.io/qt-5/qtquickcontrols2-index.html
他们的API非常稳定,适用于Android,iOS,macOS,Windows,GNU / Linux等。
这是一本关于QML的好书中的小世界。 https://qmlbook.github.io/en/ch02/index.html#hello-world
您在QML中编写JavaScript,而QMake构建系统将其转换为C ++目标代码。
import QtQuick 2.5
Rectangle {
width: 360
height: 360
Text {
anchors.centerIn: parent
text: "Hello World"
}
MouseArea {
anchors.fill: parent
onClicked: {
Qt.quit();
}
}
}