Сигналы и слоты Qt: как получить измененные данные?

У меня есть QStandardModel. Я подключаю его сигнал itemChanged к своему слоту.

m_model = new QStandardItemModel(this);  
connect(m_model, SIGNAL(itemChanged(QStandardItem*)), this, SLOT(changed(QStandardItem*)));

Слот выглядит так:

void Class::changed(QStandardItem * item) {
    //    ui->pushButton->setText("change");
    QString name = item->parent()->data().toString();
    ui->pushButton->setText(item->data().toString());
}  

Текст кнопки изменится на «изменить», поэтому мой слот работает. Однако item->data().toString() всегда пуст.

Как мне сделать это правильно?


person gartenriese    schedule 09.02.2014    source источник


Ответы (1)


Я думаю, вам следует использовать метод QStandardItem::text(). Вот так: QString name = item->parent()->text();

person Ilmirus    schedule 10.02.2014
comment
Год, эта ошибка распространена в программировании Qt. - person Ilmirus; 10.02.2014