Делаю сигнал-солот соединение и вылетает на нем
Не могу понять, вроде все правильно сделал.
C++ (Qt)
void MainWindow::createMenu()
{
QMenu *menuFile = ui->menuBar->addMenu("Файл");
QAction *actExit = menuFile->addAction("Выход");
connect(actExit,SIGNAL(triggered()),this,SLOT(close()));
QMenu *menuSettings = ui->menuBar->addMenu("Настройки");
a = new ActionSettings(&connection,"Соединение");
connect(a,SIGNAL(changeDataConnection(QString)),leStatusAddress,SLOT(setText(QString)));//ВЫЛЕТАЕТ
menuSettings->addAction((QAction*)a);
}
ActionSettings::ActionSettings(connection_data *connection, const QString &str, QObject *parent):
QAction(str,parent),
c_d(connection),
name(str)
{
connect(this,SIGNAL(triggered()),this,SLOT(showDialogSettings()));
}
ActionSettings::~ActionSettings()
{
}
void ActionSettings::showDialogSettings()
{
QString str_addr;
int port;
DialogSettings *dialog = new DialogSettings(name,c_d->addr,c_d->port);
if(dialog->exec() == QDialog::Accepted){
str_addr = dialog->getAddress().toString();
port = dialog->getPortNumber();
}
else{
str_addr = dialog->setDefaultAddress().toString();
port = dialog->setDefaultPortNumber();
}
c_d->addr.setAddress(str_addr);
c_d->port = port;
str = "адресс: " + c_d->addr.toString() + " порт: " + QString("%1").arg(c_d->port);
//qDebug()<<"адресс: "<<c_d->addr.toString()<<" порт: "<< QString("%1").arg(c_d->port);
delete dialog;
changeDataConnection(str);
}
Подскажите в чем может быть баг ???
скорее всего leStatusAddress неинициализирован. ты дебаггером пользоваться не умеешь?
з.ы. «адрес» с одной буквой «с» пишется.