简体   繁体   English

Qt信号和插槽:如何获取更改的数据?

[英]Qt Signals & Slots: How do I get the data which was changed?

I have a QStandardModel. 我有一个QStandardModel。 I connect its itemChanged signal to my own slot. 我将其itemChanged信号连接到我自己的插槽。

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

The slot looks like this: 插槽看起来像这样:

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

The pushButton text will change to "change", so my slot seems to work. pushButton文本将更改为“ change”,因此我的广告位似乎可以正常工作。 However, item->data().toString() is always empty. 但是,item-> data()。toString()始终为空。

How do I do this right? 我该怎么做对?

I think you should use QStandardItem::text() method. 我认为您应该使用QStandardItem::text()方法。 Like this: QString name = item->parent()->text(); 像这样: QString name = item->parent()->text();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM