标题:【提问】搞不懂这个Q_OBJECT问题
作者:rogi1126
日期:2005-10-18 18:33
内容:
我在一个PictureList类里加上Q_OBJECT
这句话就出现下面的错误:可是不加就没问题,这是为什么阿?
请各位指教
photo.o(.text+0x111e): In function `main':
: undefined reference to `vtable for PictureList'
photo.o(.text+0x1128): In function `main':
: undefined reference to `vtable for PictureList'
photo.o(.text+0x1251): In function `main':
: undefined reference to `vtable for PictureList'
photo.o(.text+0x125b): In function `main':
: undefined reference to `vtable for PictureList'
collect2: ld returned 1 exit status
make: *** Error 1
#1 [XChinux 10-18 20:09]
你的信息不完全,把你的相关源代码帖上来啊
#2 [rogi1126 10-19 09:00]
还要问一个问题,为什么我在这个类里实现的keyPressEvent,ImageorDir ,set buttonpixmap,都没作用,实际调用的是ScanList 里的虚函数???
源码:
#include "/root/subclass/scanlist.h"
#include
#include
class PictureList: public ScanList
{
//Q_OBJECT ///就是这句话加了就出错
public :
PictureList(QWidget* parent=0, const char* name=0, WFlags f=Qt::WStyle_Customize | Qt::WStyle_NoBorder )
:ScanList( parent, name, f )
{
// create the picture view
pictureView = new QScrollView( this );
pictureView->setGeometry(0, 0, 320, 240);
pictureView->viewport()->setBackgroundColor( blue );
viewLabel = new QLabel( pictureView->viewport() );
pictureView->addChild(viewLabel);
pictureView->hide();
image_flag = 0; // single view flag is initialise to zero
size = 0;
}
virtual void setButtonPixmap( MPushButton1 *b1, unsigned int index );
virtual bool isImageOrDic( QString tmpName );
protected :
virtual void keyPressEvent( QKeyEvent *e );
private :
void singleView();
void GetZoom_orign();
void GetZoom_standard();
void zoomIn();
..
#3 [XChinux 10-19 09:12]
你把.h和.cpp分开写啊,要不然moc怎么处理它
#4 [rogi1126 10-19 09:21]
谢谢,第一个问题解决了,不过我MOC是怎么处理的,能不能给我解释一下阿,
#5 [XChinux 10-19 10:24]
看Qt Reference吧