问题标签 [qgadget]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
839 浏览

c++ - 为什么我的插槽没有被调用?

我有这堂课:

onTextChanged当我在编辑控件中键入文本时,永远不会调用该方法。
我错过了什么?

0 投票
1 回答
1424 浏览

c++ - Qt、枚举和元对象编译器

我有以下用户类:

我也有包含所有全局枚举的基类:

当我编译这段代码时,出现以下错误:undefined reference to "Base::staticMetaObject"

需要做什么?

0 投票
2 回答
632 浏览

qt - Object::property ( const char * name ) const 返回空 QVariant

我的班级有枚举属性,我希望使用QObject*. 调用时QVariant QObject::property ( const char * name ) const返回值为空QVariant的枚举类型。

考虑以下代码:

为什么属性返回空的 QVariant 值?字符串包装器属性可以正常工作。

0 投票
2 回答
8489 浏览

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

我想调试事件处理代码,并想将QEvent::Type枚举的值转换为人类可读的字符串。QEvent有一个Q_GADGET宏,所以大概有办法把它拉下来?

0 投票
1 回答
1250 浏览

c++ - 无法迭代 Qt 枚举

我正在尝试迭代枚举。

当我逐步完成循环时,我应该能够看到我的枚举,名称在 x 中,值在 y 中。

不幸的是,我只能看到第一个值,计数始终为 1。

我查看了这个问题以找出上面的代码 - 但我确实要求我的枚举,我的问题应该是一个不同的问题。 Qt:meta.enumeratorCount() 没有元数据用于 Q_OBJECT 中的枚举,为什么?

我错过了什么?

0 投票
1 回答
5871 浏览

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

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

期望在 QML 中,可以提取对象text的属性。Record并且值应该是abc。QML 将对象视为QVariant(Record),并将其属性text视为undefined

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

惠普:

cp:

用于记录的 hpp:

用于记录的 cpp:

QML 片断:

主要部分:

日志显示:

0 投票
1 回答
2270 浏览

c++ - 如何通过 Q_PROPERTY 向 QML 公开指向 Q_GADGET 的指针

MyGadget在文件中定义了一个 Q_GADGETmygadget.h

和一个Context类,它包含一个实例MyGadget并通过 Q_PROPERTY 向 QML 公开指向它的指针:

Context在 QML 中创建一个实例main并将其作为上下文属性公开:

与此一起使用的 QML 文件是

一切都编译得很好,但是运行它时没有显示任何文本并且 QML 发出警告

qrc:/main.qml:9:TypeError:无法读取 null 的属性“值”。

如果我在 QML 文件中删除对qmlRegisterUncreatableType<MyGadget>in的调用main和对应的调用,import Test 1.0则会显示文本“Hello World undefined”。

我让它按预期打印“Hello World 4”的唯一方法是Context::gadget返回存储对象的副本MyGadget而不是指向它的指针,或者改为创建MyGadget一个Q_OBECT。但是这两个在我的实际应用程序中都不是可行的选项,因为我在这里需要引用语义,但在其他地方我也希望MyGadget在这个例子中对应的类有值语义。

如何让 QML 读取正确的属性值?

0 投票
1 回答
881 浏览

qt - 在 QML 中访问结构内的结构

以前我发布了一个关于如何在 QML 中访问结构的问题,并从一些很棒的人那里得到了完美的答案,现在我需要知道是否有任何方法可以访问QML的结构内的结构,以下是代码:

//MyNewStruct

//我的结构

0 投票
1 回答
777 浏览

c++ - 当 Q_GADGET 结构位于单独的头文件中时,在 QML 中出现“未注册的数据类型”错误

我有一个自定义struct,我将其用作派生类Q_PROPERTY中的类型。QMediaPlayer但这里的代码:

我在一个Label

这有点像魅力,但这里有一个转折点:如果我将声明的声明复制并粘贴struct到宏的单独头文件中(并且显然包含它)Q_DECLARE_METATYPE,我会收到以下错误:

所以我有两个问题:

  1. 不太重要的:为什么我需要使用Q_DECLARE_METATYPE宏,如果文档说我不需要Q_GADGET宏,因为它会自动注册类型?
  2. 更重要的是:为什么我不能将声明移到另一个头文件中?我错过了什么?

提前致谢!

编辑:

这可能是相关的:我在 Visual Studio (MSVC v142) 项目中使用 Qt v5.15。(不在 Qt Creator 中。)

0 投票
1 回答
464 浏览

qt - Q_GADGET 未知方法返回类型

我有一个班级 MyWindow。这个类调用

我的窗口.h

日期.h

当我在 QML 中调用第一个函数 getFirstMatch 时,它可以工作。但是,第二个函数 gtFirstDate 不起作用,我收到一条错误消息:

qrc:/main.qml:27:错误:未知方法返回类型:日期

我的 QML

有人有想法吗?

谢谢