|
发表于 2005-5-25 11:43:25
|
显示全部楼层
到了这一步我真不知如可是好!!我的毕业设计就要交了!大家帮一下我好吗?
出现这样的问题:
我有几个类,三层类,
一层是QWidget
二层是sigcreatedlg.ui产生的sigcreatedlg类
三层是sigcreate
这后就是sigcreate的main.cpp了
我的部件当然在igcreatedlg。cpp中,
涵数实现部分就在三层的sigcreate。cpp中定义,
我一直这样做都没有问题(其它涵数都可以运作)
现在我要做一个SigCreate::paintEvent
在sigcreatedlg.h的
protected slots:加上了下面这个
virtual void paintEvent( QPaintEvent * );
sigcreatedlg.cpp不变,
sigcreate.h中也是在rotected slots:加上了下面这个
virtual void paintEvent( QPaintEvent * );
sigcreate.cpp中加入:
void SigCreate::paintEvent( QPaintEvent * ){
QPainter paint(this);//TabPage_4
paint.setPen( Qt::blue );
paint.drawText( rect(), AlignCenter, "The Text" );
}
编译对过了,(以前做的其功能能运行)
我在QT designer中connect:createButton的clicked() 和this,的paintEvent
但在sigcreatedlg中没有paintEvent这个,我用Edit slot,明明就有paintEvent这个,奇怪!
我就回到sigcreatedlg.cpp中
在connect( cancelButton, SIGNAL( clicked() ), this, SLOT( close() ) );下面加了一行:connect( createButton, SIGNAL( clicked() ), this, SLOT( paintEvent() ) );
编译过了
运行时就出现:QObject::connect: Incompatible sender/receiver argument(sender/receiver的变量出现冲突)
应如何paintEvent()使调用起来?? |
|