Nar*_*uto -1 qt signals symbian nokia qt4
我有以下代码:
class myslot
{
public:
Q_OBJECT
myslot()
{
}
~myslot()
{
}
typedef enum Emycars{volvo,benz,tata}cars;
public slots:
void hellowslot(myslot::cars);
};
void myslot::hellowslot(myslot::cars cars1)
{
}
class mysignal
{
public:
Q_OBJECT
public:
mysignal(myslot *ourslot)
{
bool val = QObject::connect(this,SIGNAL(hellowsignal(myslot::Emycars)),ourslot,SLOT(hellowslot(myslot::Emycars)));
}
~mysignal()
{
}
signals:
void hellowsignal(myslot::Emycars);
};
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
myslot slot;
mysignal sig(&slot);
// DeleteNow w;
// w.showMaximized();
return a.exec();
}
Run Code Online (Sandbox Code Playgroud)
我的代码中有什么错误?我是否为接收枚举权限的函数编写连接的方式是什么?
为了使用信号/槽机制,类必须继承QObject(直接或从类似的子QObject类QWidget)继承,并使用Q_OBJECT宏声明自己.
所以,你mysignal和myslot必须继承QObject.
此外,您必须将宏放在类的左大括号之后,这应该给出:
class myslot : public QObject
{
Q_OBJECT
public:
// .../...
};
class mysignal : public QObject
{
Q_OBJECT
public:
// .../...
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
170 次 |
| 最近记录: |