staticMetaObject】的更多相关文章

<C++ GUI Qt 4 编程>学习 一.遇到的问题 在学完第4章后,Spreasheet程序也已经写好了.在用 FindDialog 搜索时发现没有效果. 二.解决过程 调试跟踪代码,发现 emit 信号函数后,槽函数并没有被调用,所以应该是信号和槽连接问题. 在 debug 模式下运行程序过程中,程序输出中会提示 No such slot 和 No such signa.已知一个类如果要用到信号和槽,需要在类定义中加 Q_OBJECT 宏.和书上代码做对比后发现确实少了这个宏. 添加 Q…
      在链接Qt的库,比如QtGui4.lib,我这里是在链接QtSolutions_PropertyBrowser-head.lib的时候出现的链接错误.大概是说一个"XXXX::staticMetaObject"的函数找不到定义.解决办法是,在include该Qt库的头文件时定义"__declspec(dllimport)",对于QtSolutions_PropertyBrowser-head库,在其头文件qtpropertybrowser.h中有: #i…
staticMetaObject : QObject 及其 子类 的静态属性成员. 定义如下: const QMetaObject staticMetaObject; QMetaObject 记录了 Qt部件的 ClassName, QMetaObject::className()可以在运行时以字符串的形式返回类的名字,不需要C++编译器原生的运行时类型信息(RTTI)的支持.…
原文链接:Qt经典出错信息之undefined reference to `vtable for classname 这个出错信息太常见了,用过Qt两个月以上的朋友基本上都能自己解决了,因为太经典了,可以给新手参考. 出错信息一般类似:undefined reference to `vtable for classname MyWidget`在执行make命令后出现. 出错原因是在定义类的时候为了能使用signals和slot,在类定义的后面加了Q_OBJECT引起. 因为Q_OBJECT是一个…
Qt中的类库有接近一半是从基类QObject上继承下来,信号与反应槽(signals/slot)机制就是用来在QObject类或其子类间通讯的方法.作为一种通用的处理机制,信号与反应槽非常灵活,可以携带任意数量的参数,参数的类型也由用户自定.同时其本身也是类型安全的,任何一个从QObject或其子类继承的用户类都可以使用信号与反应槽.       信号的作用如同Windows系统中的消息.在Qt中,对于发出信号的对象来说,它并不知道是谁接收了这个信号.这样的设计可能在某些地方会有些不便,但却杜绝…
昨天出了一个小bug, 一直调都没调出来, 今天仔细看了下, 发现出错的原因了. 我在用osgEarth的时候, 用到一个类MapCatalogWidget, 觉得它不够用, 就把这个类给改了下, 添加了个slot: public slots: void addViewpoint(Viewpoint& vp); 这里由于MapCatalogWidget类自己已经添加了命名空间的引用, 所以想当然的在这里就没有使用 osgEarth::Viewpoint 这样的方式. 添加信号, 槽: conne…
最近在公司项目中开发串口,因为历史原因串口要包装一下,且包装类需要继承自一个纯C++类. QSerialPort可以使用slot function来获取从串口读到的数据,以及写入串口的bytes个数.因此就给自己的类加了对应的槽函数.代码示例如下: #include <QObject> class CBase { public: CBase(); ~CBase(); }; class CDerive:public CBase,public QObject { Q_OBJECT public:…
所有QObject的派生类在官方文档中都推荐在头文件中放置宏Q_OBJECT,那么该宏到底为我们做了哪些工作?在qobjectdef.h中有下面的代码: #define Q_OBJECT \ public: \ Q_OBJECT_CHECK \ static const QMetaObject staticMetaObject; \ Q_OBJECT_GETSTATICMETAOBJECT \ virtual const QMetaObject *metaObject() const; \ vi…
QT 信号与槽connect QT 信号与槽connect connect函数调用几个限制 connect函数代码 QT中信号与槽的连接使用的connect函数是一个静态函数,在类QObject中定义.这里说的是QT5环境下.更详细的介绍可以看这里http://www.devbean.net/2012/12/how-qt-signals-and-slots-work-qt5/ 本文由乌合之众 lym瞎编,欢迎转载 blog.cnblogs.net/oloroso 本文由乌合之众 lym瞎编,欢迎…
QT国际化(lupdate/linguits/lrelease) 本文由乌合之众瞎写http://www.cnblogs.com/oloroso/ qt国际化其实就是qt中字符串的字符集编码的设置.当然这个设置不是简单的选择一下什么语言就好,这个需要编程人员来处理的. 通常对于非拉丁字符(主要指latin1字符集)的字符串,就需要使用到unicode字符集,而通常使用UTF-8编码.如果只是本地使用一下,直接使用""包含文件就可以了.但是有时候设计到网络传输等情况,就要考虑这些了. Q…