- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在main.cpp
我正在创建一个类的单例类型,以在具有以下功能的 qml 中使用它:
qmlRegisterSingletonType<DataloopWrapper>("com.xpto.connector", 1, 0, "DataloopWrapper",&DataloopWrapper::qmlInstance);
在 main.cpp
上有点向下我调用了另一个对象的函数,我想从中调用一个函数 singleton
也许是这样的qmlTranslator.loadLanguage(lang, DataloopWrapper::qmlInstance);
有可能吗?
我要声明 QmlTranslator
按以下方式分类:
#ifndef QMLTRANSLATOR_H
#define QMLTRANSLATOR_H
#include <QObject>
#include <QTranslator>
#include <QQmlEngine>
#include <QGuiApplication>
class QmlTranslator : public QObject
{
Q_OBJECT
public:
QmlTranslator(QQmlEngine *engine, QGuiApplication *app);
Q_INVOKABLE void selectLanguage(QString language);
void InstallTranslator();
void loadLanguage(QString language, QObject*(QQmlEngine*,QJSEngine*) objDataloop);
virtual ~QmlTranslator();
signals:
void languageChanged();
private:
QTranslator *_translator;
QQmlEngine *_engine;
QGuiApplication *_app;
};
#endif // QMLTRANSLATOR_H
我找不到通过 DataloopWrapper::qmlInstance
的方法作为论据。至少它在 void loadLanguage(QString language, QObject*(QQmlEngine*,QJSEngine*) objDataloop);
中给出了错误关于 qmlTranslator 定义。
来自公众:DataloopWrapper
的成员我有qmlInstance
的定义,是这样的:
class DataloopWrapper : public QObject, public something::DataloopCBHandler,
public something::DataloopTransferCBHandler
{
Q_OBJECT
public:
explicit DataloopWrapper(QObject *parent = nullptr);
virtual ~DataloopWrapper();
static QObject *qmlInstance(QQmlEngine *engine, QJSEngine *scriptEngine)
{
Q_UNUSED(engine);
Q_UNUSED(scriptEngine);
return new DataloopWrapper;
}
最佳答案
DataloopWrapper::qmlInstance
是一个函数,您需要调用 以获得指向QObject< 的指针
.
对于任何你想传递这个对象的函数,你需要让它接受一个指向QObject
(类型QObject*
)的指针,并且不要忘记调用 DataloopWrapper::qmlInstance
。
翻译成代码:
class QmlTranslator : public QObject
{
...
void loadLanguage(QString language, QObject* objDataloop);
...
};
...
qmlTranslator.loadLanguage(lang, DataloopWrapper::qmlInstance(aQMLEngineObjectPointer, aQJSEnginePointer));
关于c++ - 如何将单例传递给qt中的另一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54570584/
我最近购买了《C 编程语言》并尝试了 Ex 1-8这是代码 #include #include #include /* * */ int main() { int nl,nt,nb;
早上好!我有一个变量“var”,可能为 0。我检查该变量是否为空,如果不是,我将该变量保存在 php session 中,然后调用另一个页面。在这个新页面中,我检查我创建的 session 是否为空,
我正在努力完成 Learn Python the Hard Way ex.25,但我无法理解某些事情。这是脚本: def break_words(stuff): """this functio
我是一名优秀的程序员,十分优秀!