簡體   English   中英

Qt 屬性(屬性)綁定到 QLabel

[英]Qt attribute(property) binding to QLabel

嗨,我是 Qt 的新手。

我可以將 class 屬性(或屬性)綁定到 QLabel 文本嗎? 例如,

class Dog{
    string name;
}

QLabel lbl;

當我更改狗的名字時,我想更改 lbl.text

在 Qt 中您正在談論的事情 - 信號和插槽領域的好方法:

狗.h

#ifndef DOG_H
#define DOG_H

#include "QObject"

class Dog: public QObject
{
    Q_OBJECT
public:
    void setDogsName(const QString &name)
    {
        m_Name = name;
        emit dogsNameChanged(name);
    }
signals:
    void dogsNameChanged(const QString &name);

private:
    QString m_Name;
};

#endif // DOG_H

Q_OBJECT 宏需要信號/插槽連接工作(並且它必須在私有部分/公共之上:)。 代碼必須在分開的.h 文件中 ( )

主要的:

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QLabel lbl;
    Dog dog;
    QObject::connect(&dog, &Dog::dogsNameChanged, &lbl, &QLabel::setText);
    dog.setDogsName("TEST");
    lbl.show();
    return a.exec();
}

結果:這里

閱讀 Qt https://doc.qt.io/qt-6/signalsandslots.ZD7235FDC70D8EC286中的連接

暫無
暫無

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

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