06 2010 档案

摘要: 熟悉Visual Basic或者Delphi的开发者初次接触Qt/C++开发时会发现信号-槽原理很难理解,而且他们看不到事件处理器。Qt 4允许他们保留他们习惯的语义,允许这种形式的槽声明: void on_objectname_signalname(); 它们被转换成connect()指令,然后由uic保存在setupUi()里面。顺便提一下,这个命名约定增强了源文件的可读性。 这个函数功能性的关键是静态函数QMetaObject::connectSlotsByName()方法:它需要一个指向一个QObject对象的指针,通过它寻找与名字一致的槽。然后QMetaObject::connectSlotsByName()方法将找到的槽与合适的信号连接。为了做到这一点,它使用了元对象编译器moc生成的元对象的信息。元对象以内省(在Java中被称作反射)的方式使C++获得了理解所有继承自QObject的类的能力。因此,在运行时类“知道”它自己的方法,信号和槽。connectSlotsByName()方法在指针指向的对象和它们的子对象的名字中递归查找,并将各自的信号与它们连接。 阅读全文
posted @ 2010-06-12 12:33 mcxiaoke 阅读(1486) | 评论 (0) 编辑
摘要: The Book of QT4 翻译 QT程序设计艺术 ---------------------------------------------------------------------------------原名:The Book of QT 4:The Art of Building Qt Applications译名:The Book of QT 4中文版:QT程序设计艺术-----...阅读全文
posted @ 2010-06-01 09:58 mcxiaoke 阅读(1824) | 评论 (0) 编辑