Qt - 检测QListView中的项目信息更改

时间:2012-09-24 15:56:12

标签: c++ qt

我有一个连接到QStandardItemModel的QListView。如何检测模型或QListView中的任何信息更改?我使用itemChanged()为模型尝试了信号和插槽,但它似乎使整个程序崩溃。

Qbject::connect(bugModel, SIGNAL(itemChanged(QStandardItem*)), this, SLOT(bugInfoChanged()));

这是我用来连接Signal的代码。函数bugInfoChanged()只运行一个说“已更改”的qDebug()。但是当我启动程序时,它会显示崩溃错误。

2 个答案:

答案 0 :(得分:0)

当我评论这一行(// QObj ...)时,崩溃不会发生,但当我删除评论时它会崩溃。我在“私人老虎机”区域有这个:

    void bugInfoChanged();

在cpp中就像这样:

    void MainWindow::bugInfoChanged()
    {
       qDebug() << "Changed";
    }

我不知道导致崩溃的原因:/

答案 1 :(得分:0)

我自己修好了。事实证明,如果我将连接代码放在填充列表的函数中,它就可以正常工作。它曾经崩溃,因为该应用程序启动时该列表没有任何项目。