Qt 5.2 QObject :: connect: невозможно подключиться (null) ::

0

Я ноб - не хорошо с QML или C++, но добираюсь туда. Кажется, я попал в камнем преткновения, и я не могу пройти мимо. Я получаю следующую ошибку в попытке запустить сборку, и я не уверен, что я пропустил в своем коде...

** QObject :: connect: не удается подключиться (null) :: buttonClicked_enable() к TLA_Funcs :: sys_enable() **

Я просмотрел другие варианты вопроса здесь, и кажется, что у меня правильный код, но я все еще получаю ошибку. Может кто-нибудь заглянуть? Здесь соответствующая выборка моего кода (остальное слишком длинное, и я упустил кишки функции - слишком долго).

Код QML:

Rectangle {
id: main
width: 800
height: 600
color: "#abcfe9"
border.width: 4
border.color: "#000000"

signal buttonClicked_enable()

Button {
    id: enable
    x: 628
    y: 55
    text: "ENABLE"
    onClicked:buttonClicked_enable()
    }
//....
}

Мой заголовок класса: #ifndef TLA_FUNCS_H #define TLA_FUNCS_H

#include <QObject>

class TLA_Funcs : public QObject
{
    Q_OBJECT
public:
    explicit TLA_Funcs(QObject *parent = 0);
signals:

public slots:
    Q_INVOKABLE void sys_enable(){return ;}  
private:
};    
#endif

И в моем файле main.cpp:

#include "TLA_Funcs.h"

TLA_Funcs::TLA_Funcs(QObject *parent) :
    QObject(parent)
{
}


int main (int argc, char*argv[]) {

    QGuiApplication app(argc, argv);

    QQuickView *view = new QQuickView(QUrl("main.qml")); 
    view->show();

    QQuickItem *item = view->rootObject();  
    TLA_Funcs *funcs = new TLA_Funcs(); 


    QObject::connect(item, SIGNAL(buttonClicked_enable()), funcs, SLOT(sys_enable()));

} 

Я определил сигналы в родительском прямоугольнике и в коде кнопки, который я пытался использовать:

onClicked:main.buttonClicked_enable()

так же как:

onClicked: {
            buttonClicked_enable()
            TLA_Funcs.sys_enable()
}

Это тоже не помогло. Я также попытался определить функции под "сигналом" в классе, но это сделало больше беспорядка. Может кто-то хотя бы указать мне в правильном направлении, и имейте в виду, я все еще ноб... Спасибо всем !!!

  • 0
    Вы запускаете это через QT Creator?
  • 0
    Да, я использовал Qt Creator. Я использовал его для создания класса C ++. Это компилируется, я просто получаю сообщение об ошибке, когда нажимаю «Run»
Показать ещё 5 комментариев
Теги:
qt

1 ответ

-1

Устранена проблема: произошла ошибка в файле.pro. Я скопировал код в новый проект, и он корректно работал на 100%. Спасибо всем за помощь!

  • 0
    какая была ошибка в про файле? Может быть, вы могли бы поделиться .. Я бы проголосовал, если бы обнаружил, что ваше решение применимо ко мне ...
  • 0
    Спасибо @LeonardoAlvesMachado за предложение, но я здесь не для откровенных голосов ... вот для чего Imgur. Это было завершено более 2 лет назад, проект давно закончен для меня, и я не помню, что я сделал, кроме как скопировать код в новый проект ... извините. Жаль, что я не мог помочь.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню