Возможно ли подключить сигнал к статическому слоту без экземпляра приемника?
Например так: connect(&object, SIGNAL(some()), STATIC_SLOT(staticFooMember()));
В документации Qt есть функция QApplication::closeAllWindows()
с атрибутом [static slot]. И есть пример ее использования из документации:
exitAct = new QAction(tr("E&xit"), this);
exitAct->setShortcuts(QKeySequence::Quit);
exitAct->setStatusTip(tr("Exit the application"));
connect(exitAct, SIGNAL(triggered()), qApp, SLOT(closeAllWindows()));
Можно ли сделать то же действие, но без передачи переменной экземпляра (например, когда класс имеет только статические функции)?
class Some : public QObject {
Q_OBJECT
public slots:
static void foo();
private:
Some();
};
Возможно, Фрэнк Остерфельд прав и в этом случае лучше использовать паттерн singleton, но я все еще удивлен, почему эта возможность до сих пор не реализована.
Обновление: