C++ 在Qt Creator上的QTextEdit或connect()中使用指针

C++ 在Qt Creator上的QTextEdit或connect()中使用指针,c++,linux,qt,c++11,qt-creator,C++,Linux,Qt,C++11,Qt Creator,早上好, 我希望QTextEdit在Qtring更改时动态更改值 例如: QString text = "Test2"; ui->OutputConsole->setText(&text); text = "Test2"; //Value in QTextEdit OutputConsole change dynamically and display "Test2" 我也在考虑使用connect()函数,但我不知道如何使用它,我在互联网上找到了一些例子: QString

早上好, 我希望QTextEdit在Qtring更改时动态更改值

例如:

QString text = "Test2";
ui->OutputConsole->setText(&text);
text = "Test2"; //Value in QTextEdit OutputConsole change dynamically and display "Test2"
我也在考虑使用connect()函数,但我不知道如何使用它,我在互联网上找到了一些例子:

QString Text= "Test";
connect(Text, SIGNAL(changeText(QString)), ui->OutputConsole, SLOT(labelChangeText(QString)));
我想知道这是否可能以及如何做到


提前感谢您的帮助,

您可以创建自己的类,该类将包装您的文本和更改的文本上的信号

class StringWrapper : public QObject
{
   Q_OBJECT
public:
    explicit StringWrapper(QObject *parent = nullptr);

    void SetString(const QString& str);

private:
    QString m_str;

signals:
    void TextChanged(QString str);

public slots:
};

void StringWrapper::SetString(const QString &str)
{
    if (str != m_str) {
        m_str = str;
        emit TextChanged(m_str);
    }
}
然后连接到您的标签

StringWrapper m_strWrapper;
connect(&m_strWrapper, SIGNAL(TextChanged(QString)), ui->OutpuConsole, SLOT(setText(QString)));

如果
QString
QTextEdit
都是类的成员,则可以创建setter方法来同时更改它们的文本。