标签: qgadget

如何从QEvent获取人类可读的事件类型?

我想调试事件处理代码,并希望将QEvent::Type枚举值转换为人类可读的字符串.QEvent有一个Q_GADGET宏,所以可能有一种方法可以解决这个问题?

qt qevent qgadget

12
推荐指数
2
解决办法
6340
查看次数

将Q_GADGET作为信号参数从C++传递到QML

无法在QML代码中获取C++对象的属性.对象作为参数传递给信号.

预期在QML,属性text的的Record对象可以被提取.价值应该是abc.QML将对象视为QVariant(Record),并将其属性text视为undefined.

Record是类似值的类型QPoint,所以它使用Q_GADGET声明.

HPP:

#ifndef LISTENP_HPP_
#define LISTENP_HPP_

#include <QObject>

#include "Record.hpp"

class ListenP: public QObject
{
Q_OBJECT

public:
    ListenP();
    virtual ~ListenP();

    void emitGotRecord();

signals:
    void gotRecord(Record r);
};

#endif /* LISTENP_HPP_ */
Run Code Online (Sandbox Code Playgroud)

CPP:

#include "ListenP.hpp"

ListenP::ListenP() :
        QObject()
{
}

ListenP::~ListenP()
{
}

void ListenP::emitGotRecord()
{
    emit gotRecord(Record("abc"));
}
Run Code Online (Sandbox Code Playgroud)

hpp for Record:

#ifndef RECORD_HPP_
#define RECORD_HPP_

#include <QObject>
#include <QMetaType>

class Record …
Run Code Online (Sandbox Code Playgroud)

c++ qt qml qtquick2 qgadget

3
推荐指数
1
解决办法
3935
查看次数

标签 统计

qgadget ×2

qt ×2

c++ ×1

qevent ×1

qml ×1

qtquick2 ×1