Qt Signals & Slots: O'zgartirilgan ma'lumotlarni qanday olishim mumkin?

Menda QStandardModel bor. Men uning itemChanged signalini o‘z uyimga ulayman.

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

Slot quyidagicha ko'rinadi:

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

PushButton matni "o'zgartirish" ga o'zgaradi, shuning uchun mening uyam ishlayotganga o'xshaydi. Biroq, item->data().toString() har doim bo'sh.

Buni qanday qilib to'g'ri qilishim kerak?


person gartenriese    schedule 09.02.2014    source manba


Javoblar (1)


Menimcha, siz QStandardItem::text() usulidan foydalanishingiz kerak. Bu kabi: QString name = item->parent()->text();

person Ilmirus    schedule 10.02.2014
comment
Yil, bu xato Qt dasturlashda keng tarqalgan. - person Ilmirus; 10.02.2014