1
我想创建一个命令类层次结构。基本上每个命令都会绑定到一个QAction。一旦动作被触发,它将调用一个虚拟方法。将QAction连接到虚拟插槽?
下面是代码:
class Command : QObject
{
Q_OBJECT
public:
Command(QWidget *parent);
public slots:
virtual void execute();
protected:
QAction *commandAct;
};
Command::Command(QWidget *parent)
{
commandAct = new QAction(parent);
parent->addAction(commandAct);
connect(commandAct,SIGNAL(triggered()),this,SLOT(execute()));
}
QAction *Command::getAction()
{
return commandAct;
}
现在,如果我得到一个类并重写execute方法,像它应该是将它叫什么名字?
我需要这个工作跨平台。
它也适用于Qt 4.8吗? – Mogi 2017-12-15 10:53:19
@Mogi是的,这是所有Qt版本的情况。这些年来,连接的API和内部实现可能已经发生了变化,但并不是事实上,时隙执行只是该时隙方法的一种方法调用。 – 2017-12-19 17:46:53