Добрый день, пишу первое приложение на Qt. Задача прочитать файл ini и передать значение в интерфейсную часть.
Ссылка на мой проект
Для начала опускаем чтение ini файла, и просто передаем параметр из c++ в qml
Создан класс ApplicationSettings унаследованный от QObject, который расшаривает два параметра:
settings.h
#include <QObject>
#include <QColor>
class ApplicationSettings : public QObject
{
Q_OBJECT
Q_PROPERTY(QColor backgroundColor READ bColor)
Q_PROPERTY(int justNum READ num)
public:
QColor bColor();
int num();
};
settings.cpp
#include "settings.h"
QColor ApplicationSettings::bColor()
{
return Qt::red;
}
int ApplicationSettings::num()
{
return 50;
}
Регистрирую новый тип:
main.cpp
qmlRegisterType<ApplicationSettings>("ApplicationSettings", 1, 0, "ApplicationSettings");
И далее читаю значения полей из qml:
mode1.qml
import QtQuick 2.9
import QtQuick.Controls 2.2
import ApplicationSettings 1.0
ApplicationWindow {
ApplicationSettings {
id: settings
}
title: qsTr("ncf05m")
width: 600
height: 1066
color: settings.backgroundColor
visible: true
Text {
id: element
x: settings.num
y: settings.num
text: qsTr("Text")
font.pixelSize: 12
}
}
Приложение не компилируется и выдаются ошибки:
ncf05m/settings.h:6: error: error: undefined reference to 'vtable for ApplicationSettings'
Не понятно, что от меня требуется, помогите сделать первые шаги