Qt for Delphi开发者

10

有没有一本书或教程可以为Delphi/C++ Builder/VCL开发人员解释Qt?

对于具有该背景的开发人员来说,学习Qt的最佳方法是什么?我特别想知道如何使用Qt完成我在Delphi中知道如何做的事情。

例如,Qt相当于Delphi Frames是什么?表单/框架继承呢?我应该使用Qt Designer、Qt Creator还是手工编写代码来完成这些任务?

另外一件事是Qt小部件和对象的生命周期。Qt会自动处理小部件和对象的销毁,还是程序员需要手动处理?或者说Qt只为某些类型的对象而不是其他类型的对象处理?

顺便说一下,我确实了解C++,所以语言本身不是问题。我担心的是库。

4个回答

7

一种方法可能是研究FreeCLX开源项目的源代码。它包含了使用Qt实现的VCL。因此,如果您想知道哪个Qt小部件映射到VCL类型,那么这应该能帮助您。但请注意,Qt 2.x.x使用了多重继承(当前Qt已不再如此),因此FreeCLX通过一个特殊库与Qt进行接口,以减少这种情况。


2
请注意,Qt使用多重继承。然而,这并不完全正确了。最新版本的Qt(4.5.0)已经放弃了许多在CLX基础上的Qt 2.x.x系列中存在的MI。 - Allen Bauer
1
顺便说一句,Lazarus的LCL可以用于QT4。 - Marco van de Voort

2

学习新知识最简单、最快的方法是把旧事物都放在一边。在开发C++时不要试图用Delphi思考。

先学一些C++(它真的不难),然后选择Qt。你不必了解所有的C++和STL,只需要熟悉语法和基本概念(如指针、结构体与类之间的区别等)即可。


我知道C++,所以这对我来说不是问题。我想学习的是如何将我对VCL和Qt的了解进行映射。 - user16120
那是错误的部分。不要寻找映射,直接去找真正的东西。 - Javier

2

进一步说,Javier所说的 - 从一个窗口工具包到另一个的概念映射甚至比语言还不好。这尤其令人困惑,因为只有那么多单词(框架,窗口,小部件等)被重复使用。

我建议您浏览QT发行版中包含的(优秀的)示例和教程(您可能需要下载源代码分发),然后思考 - 我会如何在VCL中完成这个任务?


2
如果我没记错的话,Qt助手有一些很好的入门教程,可以逐步介绍一个越来越复杂的Qt GUI应用程序的基本结构。你还会了解到父/子层次结构、信号/槽事件系统,这两者都是理解Qt应用程序的关键。
我赞同其他人的观点,不要试图将Delphi隐喻映射到Qt隐喻中。然而,在您的学习过程中,您可能会发现许多相似之处,您的Delphi经验将为您提供视角。
祝你好运!
编辑:QtCentre 是我认为最好的Qt开发在线论坛。您会在那里找到许多有知识的人。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接