QT作为cross platform开发中开发UI的利器,应用非常广。可惜我的项目经历里没碰到过它。今天的一次training,make a list了解一点关键概念先:
1. QA widget是control也是window,因此可以单独被show出来。
2. 一些关键概念:
--QObject
--Meta Object System
--Signal-Slot
--UIC
--QRC,资源管理机制。把资源比如图片都编译为binary,应该是以内存映射文件的类似机制来存储从而可以在load resource 保证速度。
3. 其他
--使用qt,就要用它提供的配套机制,比如QList as container, QXXCast for casting, foreach for iteration, assert, etc. 对于使用任何一个库来说,都是这样的。
--qtapplication.notify() 是一个集中的finalplace来有机会处理所有的exception。如果在那里没有handle,会继续throw给qt,那么处理结果就完全未知了。。
--跨平台开发UI,有两种方法:一是用qt统一开发可以在多个平台上展示的UI;二是各个平台用最适合的UI library,比如wpf for win, coco(?) for linux. 还有GTK,KDE相关概念。