- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我没有在 Qt 文档中找到解释 qApp->setProperty()
选项的部分(它可能在那里,但我不能'找不到它)。有人可以基本上向我解释它是如何工作的以及我应该在什么时候使用它吗?
我问它是因为我需要将我的数据库文件的路径定义为“全局常量”,以便在许多类中使用,所以我想使用 setProperty
来设置它功能。
例如:
qApp->setProperty("DATABASE_PATH", "C:/../Database.db");
然后,使用以下方式访问它:
qApp->property("DATABASE_PATH").toString();
我可以这样做吗,或者有更好/正确的方法吗?
最佳答案
此功能未显示在QApplication documentation 的主视图中.
在此页面上有一个名为:List of all members, including inherited members 的部分,在它们中你会发现你拥有的所有属性,要么是独占的,要么是你的父类。
寻找这个函数建立在QObject
中:
bool QObject::setProperty(const char *name, const QVariant &value)
Sets the value of the object's name property to value.
If the property is defined in the class using Q_PROPERTY then true is returned on success and false otherwise. If the property is not defined using Q_PROPERTY, and therefore not listed in the meta-object, it is added as a dynamic property and false is returned.
Information about all available properties is provided through the metaObject() and dynamicPropertyNames().
Dynamic properties can be queried again using property() and can be removed by setting the property value to an invalid QVariant. Changing the value of a dynamic property causes a QDynamicPropertyChangeEvent to be sent to the object.
Note: Dynamic properties starting with "q" are reserved for internal purposes.
See also property(), metaObject(), dynamicPropertyNames(), and QMetaProperty::write().
setProperty
用于通过其名称公开属性,如果您可以在您的情况下使用它,因为 qApp
是一个可以被整个程序访问的指针.
关于c++ - 我什么时候应该在 Qt 上使用 qApp->setProperty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44292561/
我有一个 UserPass 类,它有 2 个属性:User user;字符串密码用户还有其他属性,如用户名、系统 ID 等。 我在 UserPass 上调用了 setProperty ("userna
在设计用于在自定义芯片上运行的 Java 应用程序中找到以下代码行。 System.setProperty("ssl.SocketFactory.provider", "some.custom.soc
当我使用 $wnd.document.getElementById('id'); 它运行成功,我得到了元素。但是,当我尝试像这样设置 property 时: $wnd.document.getElem
我想实现从默认(Windows HKCU)到我自己的(文件系统)的首选项迁移。一切都分开工作,但不能一起工作: public static void main(String[] args){ try
我遇到过非常奇怪的情况。不确定,这是否符合逻辑,但请麻烦。 我有两个元素,一个是jar 文件,第二个是ETL 工具,它完全是一个基于Java 的高级ETL 工具。 我已将我的 jar 导入到一个 ET
考虑以下类: class foo : public QObject { Q_OBJECT Q_ENUMS(E) Q_PROPERTY(E x READ x WRITE setx) pu
在阅读了SetProperty上的页面并查看了我在此处和其他地方可以找到的尽可能多的示例之后,我仍然无法将SetProperty设置为自定义操作ID的After或Before来使用。该文档看起来很简单
我使用 beans/form 处理在登录屏幕上获取输入参数,然后使用这些参数尝试将用户登录到应用程序中。 但是我收到错误 - org.apache.jasper.JasperException: /l
我曾尝试在主方法中使用System.setProperty,没有任何问题,但是当我切换到TestNG作为我的Selenium学习的一部分时,我意识到我们不能编写System.setProperty 在
我正在尝试实现一个域类,用于记录任何属性值何时更改,但我的 setProperty() 调用会在设置实际值时导致无限递归。 这就是现在的样子: void setProperty(String name
为什么我需要使用 setProperty 才能设置 java 类中变量的值 当我可以创建变量的实例并使用该实例来访问我的变量并分配值时。 最佳答案 您指的是Encapsulation 。它是面向对象编
这个问题已经有答案了: How to set request.getParameter in jsp:setProperty (1 个回答) 已关闭 3 年前。 所以基本上我想弄清楚是否可以将 jsp
编辑:代码已更新以包含 @Igor Artamonov 建议的更改,但问题仍然出现!我确实注意到了以下内容 reference to this image ,所有者 2 有高度值,没有 tool_pr
我使用它来验证 HTTP URL 以获取 JSON 字符串 HttpURLConnection inputStream = (HttpURLConnection) myURL.open
我正在开发一个基于 BindableBase 的 ViewModel。此 VM 包含域模型的实例。VM 公开了一个属性,比如 Name 我不想从中使用本地存储(即 VM 中的存储),而是委托(dele
我想将资源文件夹中的文件路径设置为系统属性。 String path = MainCore.class.getClassLoader().getResource("chromedriver-76.0.
为什么 configFile.setProperty("dir", "test") 在 ActionListener 的方法 actionPerformed 中不起作用。它不会将属性放入文件中。 se
当我尝试为我的 XmlSerializer 设置属性时,例如 xmlSerializer.setProperty("http://xmlpull.org/v1/doc/properties.html#
我正在尝试将 QVariantMap 转换为派生自 QObject 的自定义类,但我得到的返回值是 false setProperty()当谈到设置我的枚举类型的属性时。代码如下: MessageHe
我有一个程序,需要在其中设置记录器格式,但由于有多个入口点(我无法控制所有入口点),我想将 System.setProperty() 调用放置在所有入口点汇聚的类的构造函数中。 主类 public s
我是一名优秀的程序员,十分优秀!