Хорошо, я сбрасываю весь этот пост, потому что мне кажется, что мне не хватило «Минимального, Полного и Проверяемого примера», который действительно является полным моим вопросом, потому что я просто ПОТЕРЯЛ на слотах и сигналах ...так что вот вторая попытка, я опущу flower.cpp, но знаю, что там есть функция
#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QQuickView>
#include <QtQuick>
#include <QNetworkAccessManager>
#include <iostream>
#include <QJsonObject>
#include <QJsonArray>
#include <QJsonDocument>
#include <QNetworkReply>
#include <QObject>
#include "flower.h"
void Flower::onClicked(){
//code i've been trying to test all day
}
flower.h (мой заголовок для класса flower (функция))
#ifndef FLOWER_H
#define FLOWER_H
#include <QObject>
class Flower
{
private slots:
void onClicked();
};
#endif // FLOWER_H
main.cpp (это то, откуда запускается мое приложение QML, и я пытаюсь настроить там подключение сигнала и слота)
QQuickView home;
home.setSource(QUrl::fromLocalFile("main.qml"));
home.show();
QObject *homePa = home.rootObject();
QObject *buttF = homePa->findChild<QObject*>("buttFObject");
QObject::connect(buttF, SIGNAL(qmlClick()), buttF,
SLOT(Flower.onClicked()));
это navmenu с мышиной областью, котораяЯ хочу прикрепить команду onClicked:
Rectangle {
signal qmlClick();
id: navMenu
color: "#00000000"
radius: 0
anchors.fill: parent
z: 3
visible: false
border.width: 0
transformOrigin: Item.Center
MouseArea {
id: buttFArea
objectName: buttFObject
anchors.fill: parent
onClicked: navMenu.qmlClick()
}
}
Когда я пытаюсь запустить прямо сейчас, я получаю эту ошибку "W libAHDP.so: QObject :: connect: Невозможно подключиться (null) :: qmlClick ()to (null) :: Flower.onClicked () "
Извиняюсь за то, что мой первый пост был очень вводящим в заблуждение и перепутан. Надеюсь, мне понятнее, в чем заключается моя проблема