Доступ к классу QObject из другого класса QObject по ссылке и параллельному использованию в qml

В QML-приложении я создаю экземпляры двух классов, которые наследуют QObject, и одному классу требуется доступ к другому классу. Также оба класса объявлены в qml в main.cpp с помощью qmlRegisterType. Когда я использую код, подобный следующему, я получаю qqmlprivate-error. Этот вопрос похож на этот, но это не то же самое. Как я могу это исправить? Благодарю вас!

TimeControl.h

class TimeControl : public QObject
{
    Q_OBJECT
public:
    explicit TimeControl(QObject *parent = nullptr);
};

MyTimeTable.h

class MyTimeTable : public QObject
{
    Q_OBJECT
public:
    explicit MyTimeTable(TimeControl *timeControl, QObject *parent = nullptr);
private:
    TimeControl *m_timeControl = nullptr;
};

MyTimeTable.cpp

MyTimeTable::MyTimeTable(TimeControl *timeControl, QObject *parent)
    : QObject(parent)
{
    m_timeControl = timeControl;
}

main.cpp

qmlRegisterType<TimeControl>  ("tld.we.TimeControl", 1, 0, "TimeControl");
qmlRegisterType<MyTimeControl>  ("tld.we.MyTimeTable", 1, 0, "MyTimeTable");
TimeControl *timeControl = new TimeControl();
MyTimeTable timeTable(timeControl);

добавлен QML-код

import tld.we.MyTimeTable 1.0

Popup{
MyTimeTable{
    id: timeTable
}

ToolButton{
    text: "Update"
    onClicked:
        timeTable.updateData();
}

person Klara Fall    schedule 06.05.2020    source источник
comment
Похоже, это ошибка: MyTimeTable timeTable(&timeControl); Вероятно, должно быть MyTimeTable timeTable(timeControl);? Кроме того, добавьте сообщение об ошибке, которое вы получаете, и любой QML, который вы написали, чтобы попытаться получить доступ к этим объектам/классам.   -  person David K. Hess    schedule 06.05.2020
comment
Да, это ошибка. Сообщения об ошибках возникают из qqmlprivate.h: нет соответствующей функции для вызова 'MyTimeTable::MyTimeTable()' и использования удаленной функции 'QQmlPrivate::QQmlElement‹MyTimeTable›::QQmlElement()' Спасибо!   -  person Klara Fall    schedule 06.05.2020
comment
Это ошибки времени выполнения из QML или ошибки времени компиляции? Если из QML, добавьте свой код QML к своему вопросу.   -  person David K. Hess    schedule 06.05.2020
comment
Если вы собираетесь использовать qmlRegisterType с MyTimeTable, это подразумевает, что вы собираетесь создать этот объект в QML, поэтому конструктор не обязательно получит TimeControl, и это будет обнаружено при компиляции.   -  person eyllanesc    schedule 06.05.2020
comment
Возможное решение — реализовать timeControl в MyTimeTable как Q_PROPERTY.   -  person eyllanesc    schedule 06.05.2020