回答
Qt是一个巨大的框架,具有用于处理GUI,网络,数据库和各种事物的库。这是非常有据可查的,所以去诺基亚的网站上看看How to Learn Qt。话虽这么说,这里有一些基本概念:
Qt是一个框架。这意味着你组织你的代码来回应事件。最重要的是,你没有“主循环”。你
main
一般是这样的:QApplication app(argc, argv); MyMainWindow win; win.show(); return app.exec();
信号和槽。 Qt使用信号和插槽的概念以完全分离的方式连接程序的不同部分。必须的信号首先连接到一个槽:
connect(sender, SIGNAL(theSignal(int)), receiver, SLOT(theSlot(int)));
然后,当有史以来
sender
“发射”的信号(使用,例如,emit theSignal(0)
),然后Qt的安排receiver->theSlot(0)
被调用。这种安排是通过“元对象编译器”来实现的,该编译器是一个单独的程序,用于生成可编译并链接到程序的代码。Qt使用信号和插槽来响应GUI事件。因此,当用户点击“文件 - >打开”菜单项时,当你决定你的程序需要做什么时,你需要编写一个插槽。 Qt使用元对象编译器(
moc
)预处理您的代码并在幕后生成大量机器以确保此插槽可以连接到信号。在MyMainWindow
头,你会碰到这样的:class MyMainWindow : public QMainWindow { Q_OBJECT public: MyMainWindow(); public slots: void on_fileOpen_activated(); signals: void mySignal(int n); };
的
Q_OBJECT
宏是必要的moc
识别类,并生成都为你的机器。就您的代码而言,插槽只是一种常规方法。它可以是公共的,受保护的或私人的。它可以正常调用。唯一的区别是您可以使用connect
将信号连接到它。信号是另一回事。
moc
为您实现了所有的信号,因此,继续上述示例,MyMainWindow.cpp
将不包括mySignal
的定义。
Qt是一个非常大的框架,你可以很容易地只使用你需要的部分。慢点。不要担心高级功能,或者看起来太难的事情。找出你想做什么,然后尝试做到这一点。在线搜索。 Qt拥有一些最广泛的文档。祝你好运!
只要你了解面向对象编程,你就可以开始了解足够的知识。 Qt中主要的C++对象是信号和插槽。如果你阅读文档,他们会很快开始理解。
- 1. 诺基亚QT SDK线程概念
- 2. 使用诺基亚的Qt在S60(诺基亚E72)
- 3. 诺基亚qt sdk问题
- 4. 诺基亚Qt安装
- 5. 诺基亚Qt SDK和Qt SDK有什么区别?
- 6. 基本的CSS概念
- 7. 诺基亚Qt中的样式表
- 8. QT移动 - 诺基亚QT SDK
- 9. 诺基亚Qt SDK和Qt Mobility API
- 10. WaitHandle背后的基本概念是什么?
- 11. rails'act_as背后的基本概念是什么?
- 12. C基本编程概念
- 13. Archlinux上的诺基亚QT SDK
- 14. 诺基亚5310
- 15. Qt链接到Ovi(诺基亚)店铺
- 16. 诺基亚Qt ::编辑图像
- 17. 什么是概念?
- 18. 诺基亚N73中可编程的接口是什么?
- 19. 什么是环境变量的基础概念?
- 20. 诺基亚N8中的HTML5
- 21. 一些基本的oracle概念
- 22. 真正基本的javascript功能概念
- 23. 直播视频的基本概念
- 24. 理解的ASP.NET MVC基本概念
- 25. ANCS:PositiveAction的概念是什么?
- 26. JQuery和诺基亚:)
- 27. 触发器,闩锁基本概念
- 28. 基本树概念:定义祖先
- 29. 内部碎片基本概念
- 30. 如何使用诺基亚的Qt SDK编译libpoppler-qt
这是一个非常广泛的问题。首先阅读[精彩的Qt文档的介绍部分](http://doc.qt.nokia.com/latest/gettingstartedqt.html),然后如果您仍然不清楚哪些内容可以提出更具体的问题。 – 2011-01-28 08:12:03