gpt4 book ai didi

c++ - QT 信号/槽

转载 作者:行者123 更新时间:2023-11-28 02:36:16 28 4
gpt4 key购买 nike

我有一个关于信号和槽的问题。在我的应用程序中,我想将来自一个对象的信号连接到 textEdit在对话框窗口中。我的信号发出 QString ;如果我违反封装(通过将 UI 公开而不是私有(private))并将信号直接连接到 textEdit有用。但我觉得这不是正确的方法。如果我做类似下面的事情:

connect(m_osgWidget->picker.get(), SIGNAL(setX(QString)), m_addAgentDlg, SLOT(getX(QString)));

哪里:

void getX(QString)
{
this->ui.textEdit(QString);
}

它给我一个错误,我不能使用 QString在这个this->ui.textEdit(QString);我需要 QString来自 setX()信号粘贴到textEditm_addAgentDlg .如何做到这一点?我哪里做错了?

最佳答案

很抱歉这么说,但你需要学习基本的 C++。在带有 Qt 的 C++ 中,正确的语法是这样的:

connect(m_osgWidget->picker.get(), SIGNAL(setX(const QString&)), m_addAgentDlg, SLOT(getX(const QString&)));

// Why do you call it getX? Should it be called setText instead?
void getX(const QString& string)
{
ui->textEdit->setText(string);
}

关于c++ - QT 信号/槽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27336595/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com