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