簡體   English   中英

使用C ++設置qml對象的屬性

[英]Set property of qml object using c++

我嘗試過

 widget->setProperty("text1Text", QVariant("After..."));

在我的C ++中

 Button
 {
    property alias text1Text: text1.text
    Text
    {
        id: text1
        text: "Initial"
    }   
 }

在qml中。 小部件是QQuickWidget對象。 我究竟做錯了什么?

請參見與C ++中的QML對象進行交互

如果您使用的是QQmlEngine

// Using QQmlComponent
QQmlApplicationEngine engine;
...
QObject * root = engine.rootObjects().first();

如果您使用的是QQuickView

QQuickView view;
...
QObject * root = view.rootObject();

正在獲取text1

// Update Qml file
Text
{
    id: text1
    text: "Initial"
    objectName: id
} 

// Find text1 in c++
QObject * o1 = root->findChild<QObject *>(QStringLiteral("text1"));
QQuickItem *text1 = qobject_cast<QQuickItem*>(o1);

// Set property
text1->setProperty("text", QVariant());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM