我试图将我的函数称为 Qt 中的函数槽,但我不知道该怎么做。似乎以下方法是错误的:
更新:根据一个答案,我更新了我的源代码,但显然还是有问题。尝试编译这段代码会导致这些错误:
C2515:'没有合适的默认构造函数可用。'
和
C2665: QObject::connect': 3 个重载都不能转换所有参数。'
分别在 Visual Studio 2010 中。
#include <QtGui/QApplication>
#include <QPushButton>
#include <QObject>
#include <QMessageBox>
class myclass;
int main(int argc,char *argv[])
{
QApplication a(argc,argv);
QPushButton btnshowmessage("show");
myclass *my=new myclass();
QObject::connect(&btnshowmessage,SIGNAL(clicked()),my,SLOT(warningmessage()));
btnshowmessage.show();
return a.exec();
}
//////////////////////////////////////////////////////////////////////////
class myclass: public QObject
{
Q_OBJECT
public:myclass(){}
public slots:
void warningmessage()
{
QMessageBox::warning(0,"Warning","Test Message!",QMessageBox::Ok);
}
};