#ifndef SERIALPORTSETTINGS_H
#define SERIALPORTSETTINGS_H
#include
#include
#include
#include
struct SerialPortSettings {
Q_GADGET
QML_VALUE_TYPE(serialPortSettings)
Q_PROPERTY(QString name MEMBER name)
Q_PROPERTY(qint32 baudRate MEMBER baudRate)
Q_PROPERTY(QString stringBaudRate MEMBER stringBaudRate)
Q_PROPERTY(QSerialPort::DataBits dataBits MEMBER dataBits)
Q_PROPERTY(QString stringDataBits MEMBER stringDataBits)
Q_PROPERTY(QSerialPort::Parity parity MEMBER parity)
Q_PROPERTY(QString stringParity MEMBER stringParity)
Q_PROPERTY(QSerialPort::StopBits stopBits MEMBER stopBits)
Q_PROPERTY(QString stringStopBits MEMBER stringStopBits)
Q_PROPERTY(QSerialPort::FlowControl flowControl MEMBER flowControl)
Q_PROPERTY(QString stringFlowControl MEMBER stringFlowControl)
Q_PROPERTY(bool localEchoEnabled MEMBER localEchoEnabled)
Q_PROPERTY(QString delimiter MEMBER delimiter)
Q_PROPERTY(QString samplingFrequency MEMBER samplingFrequency)
Q_PROPERTY(QString headerLength MEMBER headerLength)
Q_PROPERTY(bool mergePlots MEMBER mergePlots)
public:
QString name;
qint32 baudRate;
QString stringBaudRate;
QSerialPort::DataBits dataBits;
QString stringDataBits;
QSerialPort::Parity parity;
QString stringParity;
QSerialPort::StopBits stopBits;
QString stringStopBits;
QSerialPort::FlowControl flowControl;
QString stringFlowControl;
bool localEchoEnabled;
QString delimiter;
QString samplingFrequency;
QString headerLength;
bool mergePlots;
};
Q_DECLARE_METATYPE(SerialPortSettings)
#endif // SERIALPORTSETTINGS_H
Я затем добавил это в Source под QT_ADD_QML_MODULE . У меня есть portselectionservice.cpp/.h , который является QML_ELEMENT , который имеет все установки и getter для этого SerialPortSettings . PortSelectionService.cpp/.h можно вызвать через portselection.qml по его типу после импорта datalogstream в QML. И на щелчке кнопки данные struct отправляются с portselection.qml на plotstream.qml .
и я пытаюсь использовать этот тип в качестве свойства с:
Я могу получить данные struct в QML, но я не могу получить их как тип. Имя приложения-это Datalogstream и вот мой структура: [code]#ifndef SERIALPORTSETTINGS_H #define SERIALPORTSETTINGS_H
Q_PROPERTY(QString name MEMBER name) Q_PROPERTY(qint32 baudRate MEMBER baudRate) Q_PROPERTY(QString stringBaudRate MEMBER stringBaudRate) Q_PROPERTY(QSerialPort::DataBits dataBits MEMBER dataBits) Q_PROPERTY(QString stringDataBits MEMBER stringDataBits) Q_PROPERTY(QSerialPort::Parity parity MEMBER parity) Q_PROPERTY(QString stringParity MEMBER stringParity) Q_PROPERTY(QSerialPort::StopBits stopBits MEMBER stopBits) Q_PROPERTY(QString stringStopBits MEMBER stringStopBits) Q_PROPERTY(QSerialPort::FlowControl flowControl MEMBER flowControl) Q_PROPERTY(QString stringFlowControl MEMBER stringFlowControl) Q_PROPERTY(bool localEchoEnabled MEMBER localEchoEnabled) Q_PROPERTY(QString delimiter MEMBER delimiter) Q_PROPERTY(QString samplingFrequency MEMBER samplingFrequency) Q_PROPERTY(QString headerLength MEMBER headerLength) Q_PROPERTY(bool mergePlots MEMBER mergePlots)
#endif // SERIALPORTSETTINGS_H [/code] Я затем добавил это в Source под QT_ADD_QML_MODULE . У меня есть portselectionservice.cpp/.h , который является QML_ELEMENT , который имеет все установки и getter для этого SerialPortSettings . PortSelectionService.cpp/.h можно вызвать через portselection.qml по его типу после импорта datalogstream в QML. И на щелчке кнопки данные struct отправляются с portselection.qml на plotstream.qml . и я пытаюсь использовать этот тип в качестве свойства с: