QT on Android是否不太适合用C++,而是QML?

阳光柠檬_ 2016-09-09 09:11:54
自从QT支持android开发后,觉得终于可以用C++写android程序了,但实际上用QT C++最多也就写个helloWorld的apk,QWidget、QPushButton 等很多效果不如原生的好。而在网上看到一些QT android程序的例子,大部分都是用QML写的。

是否有大神用QT C++开发过一个完整好看界面的Android程序呢?
...全文
6492 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
sadcruiser 2018-03-12
  • 打赏
  • 举报
回复
Qt官方文档都推荐使用QML做界面,功能实现用C++来实现,可以封装为注册类,或者注册属性,也很方便实现,QML做界面的确很华丽和灵活,做商业应用还是慎重,毕竟坑不少,遇到问题不好找答案。
feiyangqingyun 2017-03-10
  • 打赏
  • 举报
回复
如果是玩玩做点小工具,还行,如果要做商业项目,还是用原生的平台开发好。
下面是我用widget做的一个小工具,与服务器PHP通信获取数据。



阳光柠檬_ 2017-03-10
  • 打赏
  • 举报
回复
引用 14 楼 feiyangqingyun 的回复:
如果是玩玩做点小工具,还行,如果要做商业项目,还是用原生的平台开发好。 下面是我用widget做的一个小工具,与服务器PHP通信获取数据。
666666666666 不错~
佳朗 2016-12-23
  • 打赏
  • 举报
回复
其实,用qt搞android,一般都是从相关技术转过来(如js前端,qt 开发)。因为这样毕竟入手快,而且多平台。 之前,用其搞过项目,后来因为内存增长太厉害,就弃了。 本人开始学习时,资料很少。网上看了些,就自己练手高了个豆瓣fm,成功运行在手机上,当时还没有手机豆瓣app。 额,废话多了,总结一下: xml类似且支持js,css,可以很好的实现一些原生qt不好实现的动效,真的很方便很绚丽。所以,一般都是用xml写界面,用原生qt和c++实现逻辑方法,如打开文件,TCP,http(xml也可以,毕竟支持js)等。
佳朗 2016-12-23
  • 打赏
  • 举报
回复
恩对的,不过有些东东,qt和c++实现会高效(如读写本地文件之类的),有些东东是用js实现更便捷哈(如http,异步,图表相关)。当然都是在不影响性能的情况下,自主择取。
Little柯南 2016-12-23
  • 打赏
  • 举报
回复
引用 11 楼 liujunpen 的回复:
其实,用qt搞android,一般都是从相关技术转过来(如js前端,qt 开发)。因为这样毕竟入手快,而且多平台。 之前,用其搞过项目,后来因为内存增长太厉害,就弃了。 本人开始学习时,资料很少。网上看了些,就自己练手高了个豆瓣fm,成功运行在手机上,当时还没有手机豆瓣app。 额,废话多了,总结一下: xml类似且支持js,css,可以很好的实现一些原生qt不好实现的动效,真的很方便很绚丽。所以,一般都是用xml写界面,用原生qt和c++实现逻辑方法,如打开文件,TCP,http(xml也可以,毕竟支持js)等。
你的意思还是UI与后台分开,强调UI用xml,借鉴MVC设计方式原理
yyxmm 2016-12-05
  • 打赏
  • 举报
回复
还是用java来做吧,qt局限性太多,做的人太少,遇到问题找都找不到
jiqiang01234 2016-09-13
  • 打赏
  • 举报
回复
引用 7 楼 kuyucman 的回复:
原生的,用android api + jna/jni,通常是更佳选择
把性能有要求的部分放在ndk层,界面逻辑还是原生的java比较好。可以使用protobuf等库来打通java层和ndk层的调用,接口比直接写native方法简洁
Little柯南 2016-09-13
  • 打赏
  • 举报
回复
引用 4 楼 liukang325 的回复:
[quote=引用 2 楼 u010111033 的回复:] 有我来回答啊!哈哈 第一、如安卓原生使用Java开发一样,界面使用xml开发,采用MVC,视图、模型分离。Qt for Android其实也是使用脚本(这里是QML)来构建界面,功能方面采用C++与原Java是主要区别; 第二、如果你想对Qt开发安卓做详细了解,那么我给你以下推荐: 1、有三本书可以参考:《Qt on android核心编程》《Qt Quick核心编程》《Qt5编程入门》,第二本第三本讲的是QML,第一本讲的是使用Qt来开发Android,但是第一本基本内涵与普通介绍Qt的书籍没什么过大区别,只是多了构建android方式并加以应用; 2、可以在csdn学院看看,安晓辉版主的Qt on android视屏;
哈哈,谢谢你的回复!你说的这三本书,除了Qt Quick 讲QML的我没有看过外,其它两本我都看过了,《Qt on android核心编程》讲android的章节太少,而且不是很深,界面也不太适合android. 也许Qt android核心的东西就那么一点吧~[/quote] 个人以为,做QT开发,桌面GUI部分可以使用,其他讲究效率的、爬有坑的就别用了,做安卓开发,最好还是用谷歌亲儿子好些。至少他老爹还是把他当个宝,他依然建强
阳光柠檬_ 2016-09-12
  • 打赏
  • 举报
回复
第一次在论坛发贴,没人回~ 好尴尬
东莞某某某 2016-09-12
  • 打赏
  • 举报
回复
原生的,用android api + jna/jni,通常是更佳选择
东莞某某某 2016-09-12
  • 打赏
  • 举报
回复
qt写桌面应用也会遇到很多坑,玩玩可以,如果是产品,我觉得还是选择原生的
阳光柠檬_ 2016-09-12
  • 打赏
  • 举报
回复
引用 3 楼 xzhlksh 的回复:
新手路过,我们实验室的师兄之前一直都是C++,最近写Android果断转QML了。。。 其实就算是桌面应用,QML能实现的效果也要比C++要好得多吧
我对QML不太了解,写桌面程序也都是用C++开发,感觉效果够用了。 不过android可能用QML更好吧,不过还感觉不到相比原生JAVA,QML开发android的优势
阳光柠檬_ 2016-09-12
  • 打赏
  • 举报
回复
引用 2 楼 u010111033 的回复:
有我来回答啊!哈哈 第一、如安卓原生使用Java开发一样,界面使用xml开发,采用MVC,视图、模型分离。Qt for Android其实也是使用脚本(这里是QML)来构建界面,功能方面采用C++与原Java是主要区别; 第二、如果你想对Qt开发安卓做详细了解,那么我给你以下推荐: 1、有三本书可以参考:《Qt on android核心编程》《Qt Quick核心编程》《Qt5编程入门》,第二本第三本讲的是QML,第一本讲的是使用Qt来开发Android,但是第一本基本内涵与普通介绍Qt的书籍没什么过大区别,只是多了构建android方式并加以应用; 2、可以在csdn学院看看,安晓辉版主的Qt on android视屏;
哈哈,谢谢你的回复!你说的这三本书,除了Qt Quick 讲QML的我没有看过外,其它两本我都看过了,《Qt on android核心编程》讲android的章节太少,而且不是很深,界面也不太适合android. 也许Qt android核心的东西就那么一点吧~
xzhlksh 2016-09-12
  • 打赏
  • 举报
回复
新手路过,我们实验室的师兄之前一直都是C++,最近写Android果断转QML了。。。 其实就算是桌面应用,QML能实现的效果也要比C++要好得多吧
Little柯南 2016-09-12
  • 打赏
  • 举报
回复
有我来回答啊!哈哈 第一、如安卓原生使用Java开发一样,界面使用xml开发,采用MVC,视图、模型分离。Qt for Android其实也是使用脚本(这里是QML)来构建界面,功能方面采用C++与原Java是主要区别; 第二、如果你想对Qt开发安卓做详细了解,那么我给你以下推荐: 1、有三本书可以参考:《Qt on android核心编程》《Qt Quick核心编程》《Qt5编程入门》,第二本第三本讲的是QML,第一本讲的是使用Qt来开发Android,但是第一本基本内涵与普通介绍Qt的书籍没什么过大区别,只是多了构建android方式并加以应用; 2、可以在csdn学院看看,安晓辉版主的Qt on android视屏;
A complete guide to designing and building fun games with Qt and Qt Quick 2 using associated toolsets About This Book Learn to create simple 2D to complex 3D graphics and games using all possible tools and widgets available for game development in Qt Understand technologies such as QML, Qt Quick, OpenGL, and Qt Creator, and learn the best practices to use them to design games Learn Qt with the help of many sample games introduced step-by-step in each chapter Who This Book Is For If you want to create great graphical user interfaces and astonishing games with Qt, this book is ideal for you. Any previous knowledge of Qt is not required, however knowledge of C++ is mandatory. What You Will Learn Install Qt on your system Understand the basic concepts of every Qt game and application Develop 2D object-oriented graphics using Qt Graphics View Build multiplayer games or add a chat function to your games with Qt's Network module Script your game with Qt Script Program resolution-independent and fluid UI using QML and Qt Quick Control your game flow as per the sensors of a mobile device See how to test and debug your game easily with Qt Creator and Qt Test In Detail Qt is the leading cross-platform toolkit for all significant desktop, mobile, and embedded platforms and is becoming more popular by the day, especially on mobile and embedded devices. Despite its simplicity, it's a powerful tool that perfectly fits game developers' needs. Using Qt and Qt Quick, it is easy to build fun games or shiny user interfaces. You only need to create your game once and deploy it on all major platforms like iOS, Android, and WinRT without changing a single source file. The book begins with a brief introduction to creating an application and preparing a working environment for both desktop and mobile platforms. It then dives deeper into the basics of creating graphical interfaces and Qt core concepts of data processing and display before you try creating a game. As you progress through the chapters, you'll learn to enrich your games by implementing network connectivity and employing scripting. We then delve into Qt Quick, OpenGL, and various other tools to add game logic, design animation, add game physics, and build astonishing UI for the games. Towards the final chapters, you'll learn to exploit mobile device features such as accelerators and sensors to build engaging user experiences. If you are planning to learn about Qt and its associated toolsets to build apps and games, this book is a must have. Style and approach This is an easy-to-follow, example-based, comprehensive introduction to all the major features in Qt. The content of each chapter is explained and organized around one or multiple simple game examples to learn Qt in a fun way. Table of Contents Chapter 1: Introduction to Qt Chapter 2: Installation Chapter 3: Qt GUI Programming Chapter 4: Qt Core Essentials Chapter 5: Graphics with Qt Chapter 6: Graphics View Chapter 7: Networking Chapter 8: Scripting Chapter 9: Qt Quick Basics Chapter 10: Qt Quick Appendix: Pop Quiz Answers

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧