QT 信号/插槽
QT Signal / Slot
我有一个关于信号和插槽的问题。在我的应用程序中,我想将一个对象的信号连接到对话框窗口中的textEdit
。我的信号发出QString
;如果我违反了封装(通过将 UI 设为公共而不是私有)并将信号直接连接到它工作textEdit
。但我觉得这不是正确的方式。如果我做如下:
connect(m_osgWidget->picker.get(), SIGNAL(setX(QString)), m_addAgentDlg, SLOT(getX(QString)));
哪里:
void getX(QString)
{
this->ui.textEdit(QString);
}
它给了我一个错误,我不能在此this->ui.textEdit(QString);
中使用QString
我需要将setX()
信号中的QString
粘贴到m_addAgentDlg
textEdit
中。如何做到这一点?我哪里犯了错误?
我很
抱歉这么说,但你需要学习基本的C++。正确的语法是这样的,C++与Qt:
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);
}
相关文章:
- 如何将点击的信号和插槽添加到qt中的自定义按钮中
- 如何在没有信号的情况下从C++执行QML插槽
- 升压信号2将插槽传递到成员功能以断开连接
- 如何在qt中将信号和插槽与另一个对象连接 --解决了
- C++ 信号和插槽不工作:插槽不响应事件
- QObject::连接无法将信号连接到*this*对象的插槽
- 通过插槽和信号在不同线程中的两个qt对象之间进行通信
- 控制带有信号/插槽的Qt QML滑动视图
- Qt 信号/插槽问题
- QT5 信号不会激活插槽内的功能
- Qt5:连接:如果插槽的参数少于信号,如何使用"连接"
- Qt信号和插槽如果从QRunnable或其他线程调用,则不起作用
- C++Qt信号和插槽
- Qt moveToThread,带有参数的信号/插槽
- 当再次触发信号时,从Qt插槽执行的功能被第二次调用时会发生什么?
- 从 QWidgetList 访问 QWidget 子插槽/信号 (QList<QWidget*>)
- 两个对象QT之间的示例插槽/信号
- QT对象::连接:没有此类插槽信号到线程插槽
- Qt QAxWidget - WebBrowser手动设置插槽/信号
- 没有这样的插槽/信号(Qt)