当前位置: 代码迷 >> QT开发 >> 学习Qt之前来做做功课,该怎么解决
  详细解决方案

学习Qt之前来做做功课,该怎么解决

热度:92   发布时间:2016-04-25 03:27:28.0
学习Qt之前来做做功课
原来一直做WPF的,最近在跨平台的感召下打算把程序用Qt重写,但因为不确定是否能满足需求,所以先来做做功课:

Qt5涉及的C++类库是否都是操作系统无关的,我在Windows下用VS、Ubuntu下用QtCreator写的程序,如果只用了Qt的h和cpp,是不是拿到其他系统上也可以编译使用?

我在Windows下安装Qt时选择的LGPL许可,然后在VS里面创建工程的时候发现不能选择3D模块,我要在程序中使用3D功能,是不是必须购买商业许可?

以下WPF的功能,在Qt的平台无关的类库中是否能提供相同功能:
1.将控件界面转换成实时图像的VisualBrush、将视频转换成实时图像的VideoDrawing;
2.沿视觉树传递的路由事件;
3.在列表类容器中加载大量项目时提升性能;
4.插件式开发、数据与界面分离、局域网内不同主机上的程序之间通信。

下面这项功能在WPF中没有找到解决方案,在Qt中能否实现:
在3D场景中呈现和操作Web页面。

另外请给出一些适合新手入门的资料或论坛,我虽然最开始学的是C和C++,但是有好几年没有接触了,而且在VS上玩久了,很多最基本的东西都不熟悉了,需要一切从头学起
谢谢
------解决方案--------------------
引用:
Qt5涉及的C++类库是否都是操作系统无关的,我在Windows下用VS、Ubuntu下用QtCreator写的程序,如果只用了Qt的h和cpp,是不是拿到其他系统上也可以编译使用?

Qt是跨平台的,但是要首先保证那个平台上有Qt

引用:
我在Windows下安装Qt时选择的LGPL许可,然后在VS里面创建工程的时候发现不能选择3D模块,我要在程序中使用3D功能,是不是必须购买商业许可?

3D功能和许可没关系。现在的Qt开源许可和商业许可在功能上没有差别

引用:
以下WPF的功能,在Qt的平台无关的类库中是否能提供相同功能:
1.将控件界面转换成实时图像的VisualBrush、将视频转换成实时图像的VideoDrawing;
2.沿视觉树传递的路由事件;
3.在列表类容器中加载大量项目时提升性能;
4.插件式开发、数据与界面分离、局域网内不同主机上的程序之间通信。

没做过WPF,1功能理论上是有的,因为Qt的打印功能可以所见即所得的打出整个窗体。2我不明白。3的话Qt有Data/View模型,隐含数据共享,etc。4的话Qt的插件功能非常强大,网络功能也很方便。而且Data/View也很好用。

引用:
下面这项功能在WPF中没有找到解决方案,在Qt中能否实现:
在3D场景中呈现和操作Web页面。

理论上可以,怎样实现怎样操作要看个人造化了
http://qt-project.org/forums/viewthread/9634

Qt不需要什么资料。把C++搞熟了以后看Qt带的例子就够了。不会的东西翻文档和Google。
------解决方案--------------------
路由事件?用派生类重写EventHandler不可以么?而且Qt还有EventFilter机制,可以在任意QObject里面监听并且过滤另外一个QObject的Event
Qt的3D是OpenGL,Windows下面新Qt装好就能用
------解决方案--------------------
以下WPF的功能,在Qt的平台无关的类库中是否能提供相同功能:
1.将控件界面转换成实时图像的VisualBrush、将视频转换成实时图像的VideoDrawing;
2.沿视觉树传递的路由事件;
3.在列表类容器中加载大量项目时提升性能;
4.插件式开发、数据与界面分离、局域网内不同主机上的程序之间通信。

楼主,这些都能满足,放心开发吧

1.界面的绘制mfc能做的,Qt同样能做,做起来更加方便,效率几乎没有差别
2.这个就更不必说了,
3.mvc就可以方便实现你的功能,1一条数据的显示,1秒钟就可以搞定,具体看我的博客,大数据显示的处理
4.控件的封装比mfc好多了,而且更好用,也方便扩展,自定义
5.内存自动回收,给设计带来很大的方便,(前提父类直接或间接派生自QObject)
6.信号槽机制,使你的设计模块之间充分解耦,及大地方便设计,而且性能几乎没有多少影响
7.界面设计更容易,能很容易设计出漂亮的界面,qml更是给界面设计带来不少便利
8,跨平台,支持linux,ce,windows,android,ios等流行平台

------解决方案--------------------
引用:
Quote: 引用:

路由事件?用派生类重写EventHandler不可以么?而且Qt还有EventFilter机制,可以在任意QObject里面监听并且过滤另外一个QObject的Event
Qt的3D是OpenGL,Windows下面新Qt装好就能用

看到你在VB.NET板块发的帖子了,你也在用VB吗,我就是用VB写的WPF
现在的感觉就是入门相当之困难,VS用久了,习惯了它把编译连接什么的都做好,我只管按F5的模式,一到了Qt下面就傻了,一个调试器未设置的问题都百度了好久都没找到解决办法,找出来的结果都说是在构建和运行里面的调试器那一项点右边的管理,但我那个地方的按键是编辑,而且是灰色的不能点

三年没用VB了,最近搞WP才弄了弄C#。QtCreater也是F5一下编译链接什么都做好。设置调试器要到QtCreater的设置里面搞,有个Build & Run -> Kits -> Debugger 上面点一下Auto Detect就行了,找不到的话手动设置CDB路径。不过我还是觉得GCC/GDB系列好用,而且在不同的平台上表现的也一样。
------解决方案--------------------
引用
3D功能和许可没关系。现在的Qt开源许可和商业许可在功能上没有差别

至少开源版没有支援QChart,QChart要另外付费

如果楼主习惯了WPF的话,可以试一试QtQuick2,很好用
现阶段我觉得用QtQuick2描述界面比起用c++轻松

虽然QtQuick2写起来很爽,但是要在desktops间的可移植
还是不好的,windows上有许多旧的graphics card对
openGL的支援不足,windows本身又为了推动自己的directX
而杯葛openGL,导致QtQuick2在桌面的portability不足

这问题只能再等个10年20年,待90%左右的老电脑都淘汰了
或者angle变得更成熟
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

路由事件?用派生类重写EventHandler不可以么?而且Qt还有EventFilter机制,可以在任意QObject里面监听并且过滤另外一个QObject的Event
Qt的3D是OpenGL,Windows下面新Qt装好就能用

看到你在VB.NET板块发的帖子了,你也在用VB吗,我就是用VB写的WPF
现在的感觉就是入门相当之困难,VS用久了,习惯了它把编译连接什么的都做好,我只管按F5的模式,一到了Qt下面就傻了,一个调试器未设置的问题都百度了好久都没找到解决办法,找出来的结果都说是在构建和运行里面的调试器那一项点右边的管理,但我那个地方的按键是编辑,而且是灰色的不能点

三年没用VB了,最近搞WP才弄了弄C#。QtCreater也是F5一下编译链接什么都做好。设置调试器要到QtCreater的设置里面搞,有个Build & Run -> Kits -> Debugger 上面点一下Auto Detect就行了,找不到的话手动设置CDB路径。不过我还是觉得GCC/GDB系列好用,而且在不同的平台上表现的也一样。

我百度到的所有结果也都是说在Build & Run -> Kits -> Debugger的右边设置,我也找到了这项,但我的Auto Detect按钮是灰色的不可用,我看别人的截图,Auto Detect右边是Manage键,但我的Auto Detect右边是Edit键,并且也是灰色的不可用。现在我就是想只要有个调试器就好了,管它什么GCC/GDB还是CDB都可以,但这两个家伙任何一个我都不知道怎么把它们弄出来

装MinGW版的Qt,全都自动帮你设置好
  相关解决方案