Итак, давайте предположим, что у меня есть обычный класс Qt MyQtClass
и класс MyClass
с ТОЛЬКО статическими членами. Если я хочу получить доступ к интерфейсу MyQtClass
, я должен использовать сигналы и слоты. Поэтому я создаю статический сигнал (статический, чтобы я мог просто вызвать его как MyClass::mySignal();
) и слот в классе Qt. Как я могу соединить статический сигнал от MyClass со слотом из класса Qt, не имея объекта MyClass
, так как он имеет только статические члены?
Я знаю, что классы, содержащие только статические члены, не считаются хорошим дизайном в c ++, но я слишком далеко зашёл в проекте и хочу знать, есть ли способ сделать это только со статическими членами.
Заранее спасибо!
Код:
MyQtClass.h:
#include "ui_MyQtClass.h"
class MyQtClass : public QMainWindow
{
Q_OBJECT
public:
MyQtClass(QWidget *parent = Q_NULLPTR);
Q_SLOT void mySlot();
private:
Ui::MyQtClassClass ui;
};
MyClass.h:
#pragma once
#include <QtWidgets/QMainWindow>
class MyClass : public QObject
{
public:
static void myFunction1();
static void myFunction2();
/*--- More Stuff ---*/
Q_SIGNAL static void mySignal();
};