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

时间:2014-02-09 23:59:47

标签: c++ qt qt-signals

我有一个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());
}  

pushButton文本将更改为“更改”,因此我的插槽似乎有效。但是,item-> data()。toString()始终为空。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

我认为你应该使用QStandardItem::text()方法。像这样:QString name = item->parent()->text();