У меня вопрос о сигналах и слотах. В моем приложении я хочу подключить сигнал от одного объекта к textEdit
в диалоговом окне. Мой сигнал испускает QString
; если я нарушаю инкапсуляцию (делая публичный пользовательский интерфейс вместо частного) и подключайте сигнал непосредственно к textEdit
, он работает. Но я чувствую, что это неправильный путь. Если я делаю что-то вроде следующего:QT Signal/Slot
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()
сигнала вставленный в textEdit
от m_addAgentDlg
. Как это можно сделать? Где я совершил ошибку?
Ну, я все еще узнаю, поэтому не стоит говорить. Я пробовал все возможные типы кода, опубликованные выше, включая тот, который вы предоставили. Это не работает. Вот почему я спрашиваю его здесь. Я продолжаю получать сообщения о том, что такого слота нет в объекте. –
@AzraithSherkhan: вам нужно перезапустить qmake, но, пожалуйста, купите книгу на C++. Нужно сказать, что эти ситуации объясняют, почему авторы провели с ними свою жизнь. – lpapp
Спасибо! Я продолжу свое исследование –