0

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 のテキストが「change」に変わるので、私のスロットは機能しているようです。ただし、 item->data().toString() は常に空です。

どうすればこれを正しく行うことができますか?

4

1 に答える 1

1

メソッドを使うべきだと思いますQStandardItem::text()。このような:QString name = item->parent()->text();

于 2014-02-10T00:05:10.107 に答える