我不是专家,但我现在已经使用Qt / QtEmbedded一段时间了,对于SBC 6845.我已经创建了一些应用程序,并已在我的设备上成功运行它们。 现在我希望所有这些应用程序都出现在主屏幕上。我明白使用QML / Qt Quick这可能会实现,但我不知道如何继续使用它。我已经浏览了一些链接和教程,但大多数都展示了如何使用Qt Quick创建按钮和所有这些,但不是很多。我还没有找到一些教程/文档可以指出我如何在我的主屏幕上继续所有应用程序。我需要一些指示,欢迎任何关于文档/书籍的链接,建议。
[虽然为我的SBC交叉编译QtEmbedded 4.6.2库我遇到了启用opengl支持的问题。并且,我不知道在没有opengl的情况下使用QtQuick2的其他方法。
应用程序(其中5-6个)是QWidgets,链接图标需要保留在主屏幕中。我想让它们尽可能简单,不会对图标产生任何影响。
简单地说,我正在尝试创建一系列与这些应用程序链接的主屏幕上显示的图标。如果在Windows样式应用程序中启动应用程序(或者像弹出式QDialog)也将满足我的目的。] 感谢。
答案 0 :(得分:0)
“我已经浏览了一些链接和教程,但大多数都显示了这些 如何使用Qt Quick创建按钮和所有这些,但不是很多 说,“
对于这部分问题,我建议你下载QtCreator 并开始玩演示(使用不仅仅是一些按钮: 你有ListViews,GridViews,代表,动画的演示, 粒子,QtQuick布局(仅限Qt5.1),QtQuick控件(Qt5.1 只)。
还有相当完整的: http://qt.gitorious.org/qt-labs/qt5-everywhere-demo
我完全不熟悉所有嵌入式/交叉编译 问题的各个方面。
关于OpenGL / QtQuick2:http://qt-project.org/forums/viewthread/30483 http://qt-project.org/forums/viewthread/17201
另请注意,您可以将QtQuick2场景嵌入到QWidget中,但不能 反之(场景图中没有QtWidget)。
因此,最简单/最快捷的方法可能是坚持使用Qt4或Qt5声明/ QtQuick1模块(从Qt 5.2开始可能会弃用/删除)。在此设置中,OpenGL没有场景图/强制需求。你可以通过QGraphicsProxyWidget将QWidgets嵌入你的qml场景(没有场景图:它使用QGraphicsView后端)。
然后你会有一些GridView(你也可以使用一些带有Repeater的Grid)填充模型和委托(=委托充当模板项目以填充模型)。
你的代表会有状态/可能是Loader(用于按需加载):图标状态,当点击时,一些包含加载器的最大化状态,通过QGraphicsProxyWidget加载你的小部件。
你已经有一半在这个例子中呈现(网格+ 2状态:小图标网格和最大化视图,你只需要实现委托/加载/模型/ QGraphicsProxyWidget的东西): http://developer.nokia.com/Community/Wiki/Implementing_parent_change_animation_with_QML