是否可以创建自己的QT注释
Is it possible to create own Qt annotations?
是否可以在qt中像java中创建自己的宣传?
@interface Test {
boolean value();
}
编辑:好的,为了使我为什么要这样做,我会罢工并尝试解释一下。也许甚至不可能。
我想创建具有一些属性的类。在GUI应用程序中,我想使用QMetaObject
。
为了限制用户输入,我认为添加了诸如" Minvalue"answers" MaxValue"之类的no <<p>但是我现在发现的是,没有可能用QMetaObject
朗读no录,因为它们像@mohabouje一样存在。有Q_CLASSINFO
宏,但这仅描述类而不是属性。
有什么办法做到这一点吗?还是有人可以给我一些提示?
对于方法,有可能使用标签属性,添加注释
https://doc.qt.io/qt-5/qmetamethod.html#tag
从文档中复制:
#ifndef Q_MOC_RUN
// define the tag text as empty, so the compiler doesn't see it
# define MY_CUSTOM_TAG
#endif
...
private slots:
MY_CUSTOM_TAG void testFunc();
-
MainWindow win;
win.show();
int functionIndex = win.metaObject()->indexOfSlot("testFunc()");
QMetaMethod mm = win.metaObject()->method(functionIndex);
qDebug() << mm.tag(); // prints MY_CUSTOM_TAG
我不知道为什么要这样做,这是C ,而不是Java。顺便说一句,它的替代方法是使用#Defines,它可以为您提供一个大致的解决方案:
#define INTERFACE virtual
#define DECL_INTERFACE = 0
#define OVERRIDE override
#define IMPLEMENTS : public
然后在接口类中您可以做:
class InterfaceClass {
INTERFACE std::string compute() DECL_INTERFACE;
INTERFACE void something_else() DECL_INTERFACE;
}
在您的子类中:
class Subclass IMPLEMENTS InterfaceClass {
std::string compute() OVERRIDE {
....
}
void something_else() OVERRIDE {}
}
相关文章:
- Qt VTK交互风格的信号到小部件
- QT在错误的班级中寻找空位
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 如何在Qt窗口小部件中使用QStringView(或QStringRef)
- 如何在Qt C++中更改光标
- 如何在MS Visual Studio 2019中运行QT UI
- QT通过C++添加映射QML项目
- libssh 的函数在构建 libssh 时无法在 Qt 和 cmake 错误中找到
- 如何将点击的信号和插槽添加到qt中的自定义按钮中
- Visual Studio 2019:插入多个C++风格的单行注释
- Qt C++静态thread_local QNetworkAccessManager是线程应用程序的好选择吗
- 使用Qt C++计算类似Git的SHA1哈希
- Qt focusObjectChanged example?
- 如何在cpp文件之间切换窗口?在Qt中
- Qt - 带有注释的 JSON
- 是否可以创建自己的QT注释
- Qt语法高亮显示单行注释的高亮显示规则示例
- C++Qt创建器中函数的注释
- emacs 注释缩进 Qt 样式
- Qt ActiveX QAxObject格式Excel单元格注释