找回密码
 立即注册
收起左侧

不要笑我,就在上个月还在使用VB6.0,QT新人有几个问题请教.

9
回复
7251
查看
[复制链接]
累计签到:17 天
连续签到:1 天
来源: 2017-12-10 18:49:32 显示全部楼层 |阅读模式

马上注册,查看详细内容!注册请先查看:注册须知

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 谁啊 于 2017-12-10 18:59 编辑

  是的,我一直在使用VB,但接触C++有很久了,前年又接触了单片机.

  由于我一直使用VB,并且用VB+SQLserver+ASP,为单位编写了一个管理系统,在开发过程中,特别熟悉VB的控件-事件 类型的处理方式但这也使我学习C++编写桌面应用时十分困扰,因为我最初买的一些C++教程没有桌面控件方面内容,这对于我这种急需做桌面开发的要求来说,太难了,即便是MFC也很难适用.
  我在命令行方式学习C++,一度学习到了泛型,重载,模板,继承,但是对于已经习惯于桌面系统来说,这种学习不能结合到实际项目中去,学习过程枯燥无比.

  不过C语言好象没有这个困扰,因为是为单片机编程,不需桌面控件哈!!

  本来我已经放弃C++的桌面编程了.甚至一度想学习VB.NET了.
  直到这个月初我发现了一个QT的视频,这不正是我想要的么?

  它有控件,以信号-槽方式来处理事件,我果断下载安装并开始学习了.

  现在有几个问题向大家请教.
  1 信号-槽机制的实现是不是QT专门制作了一个类库,捕捉各类"事件",并且判断发生在哪个(些)控件之上,?
  2 QT可以一套代码实现多个平台应用,我提个幼稚的问题,android和 windows屏幕的大小都不一样,它是如何实现的?
  3 为什么我下载的QT新建一个项目时,支持的都是桌面?
  4 有入门书推荐么?
  5 它是免费的么?使用它开发软件需要付费么?
  6 QT程序员就业前景如何?

谢谢...







回复

使用道具 举报

累计签到:53 天
连续签到:1 天
2017-12-11 16:07:33 显示全部楼层
本帖最后由 angelus 于 2017-12-11 16:17 编辑

qt进入开源社区管理后,使用的人越来越多,但大多集中在军工开发中,和国外的500强企业中.
qt的信号槽机制主要是解决一些类的耦合问题,相当的优雅,而且好用,这些都是基于qobject这个基类实现的!
其实语言是什么不重要,重要的是可以做到什么程度. 是否一直再进步.
vb语言也没有那么差,就是没有维护,已经不适合开发一些基于GPU加速的界面,还有就是只能多进程,而无法实现多线程!
qt是可以跨基本所有已知的 操作系统平台的,当然仅主流平台,一些偏门的就不太清楚了.

qt现在基本可以分为 两种开发界面语言,一个是本身的传统界面,一个是现在主推的qml界面.
两种开发完全不同,但却可以交织互补再一起, 开发一些基本界面,用传统就够了
但开发一些新颖,触摸,拖拽,这类基于触摸屏和触摸笔的操作方式,就需要学习qml了.
qml也可以用于传统鼠标的界面,所以建议学习qml,这也是以后发展的方向.

关于书籍,需要你进行选择,如果传统界面,那么选择QT4的书.
如果需要触摸qml,就只能找QT5的书了,原则上来说,就那么几本,没有选择的

回复 支持 1 反对 0

使用道具 举报

累计签到:17 天
连续签到:1 天
2017-12-11 20:49:43 显示全部楼层
angelus 发表于 2017-12-11 16:07
qt进入开源社区管理后,使用的人越来越多,但大多集中在军工开发中,和国外的500强企业中.
qt的信号槽机制主要 ...

感谢回答!!!

你说得太对了,VB不再维护了,真是相当遗憾.

直接学QML是否可以呢,我现在在学习传统界面这一部分.

回复 支持 反对

使用道具 举报

累计签到:53 天
连续签到:1 天
2017-12-12 11:09:39 显示全部楼层
本帖最后由 angelus 于 2017-12-12 11:13 编辑
谁啊 发表于 2017-12-11 20:49
感谢回答!!!

你说得太对了,VB不再维护了,真是相当遗憾.

可以直接学习的,两个界面之见没有什么联系,自成体系!
我最早也是传统界面的,后来qml出来后,传统就基本不做了,现在也是主要qml,传统的都有点不会做了,但有些时候会需要
比如 阻塞模式的对话框,qml就没法实现!
回复 支持 反对

使用道具 举报

累计签到:17 天
连续签到:1 天
2017-12-14 07:55:02 显示全部楼层
qml是用来设计界面的吗?那么后端的,一些算法,数据结构,数据类型是否还是要用c++来实现?
回复 支持 反对

使用道具 举报

累计签到:17 天
连续签到:1 天
2017-12-14 07:55:34 显示全部楼层
angelus 发表于 2017-12-12 11:09
可以直接学习的,两个界面之见没有什么联系,自成体系!
我最早也是传统界面的,后来qml出来后,传统就基本不做 ...

qml是用来设计界面的吗?那么后端的,一些算法,数据结构,数据类型是否还是要用c++来实现?
回复 支持 反对

使用道具 举报

累计签到:53 天
连续签到:1 天
2017-12-14 16:47:33 显示全部楼层
谁啊 发表于 2017-12-14 07:55
qml是用来设计界面的吗?那么后端的,一些算法,数据结构,数据类型是否还是要用c++来实现? ...

qml就类似于 html 开发, js在qml中是脚本语言,负责处理简单的逻辑
必要时候可以用c++去实现比较复杂的逻辑
一般来说 qml开发都需要借助于 后台的c++代码进行扩展功能.
回复 支持 反对

使用道具 举报

累计签到:17 天
连续签到:1 天
2017-12-17 19:52:36 显示全部楼层
angelus 发表于 2017-12-14 16:47
qml就类似于 html 开发, js在qml中是脚本语言,负责处理简单的逻辑
必要时候可以用c++去实现比较复杂的逻 ...

我可以这样理解么?

我曾经使用过asp建立一个网站,
一些输入的数据,先使用页面脚本来检查,不让它送到服务器上,
检查合格后的数据,送到服务器进行运算处理.

那么前者类似QML,后者类似C++

我这样理解对么?
回复 支持 反对

使用道具 举报

累计签到:53 天
连续签到:1 天
2017-12-18 13:24:37 显示全部楼层
虽然不太正确,但大体是这样的,因为js毕竟没有qt提供的c++功能强大,所以一般只用js做一些简单的页面逻辑运算
其他一些复杂的连接数据库,开多线程,处理网络连接这些功能,一般都是直接调用C++ 代码实现的!
如果只是一些界面的展示和动画的控制,其实不需要c++代码都可以
回复 支持 反对

使用道具 举报

累计签到:12 天
连续签到:1 天
2017-12-25 17:50:41 显示全部楼层
上个月还在用VB6.0?向大神致敬!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了