3

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

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

那是我用来连接信号的代码。函数 bugInfoChanged() 只是运行一个 qDebug(),上面写着“已更改”。但是当我启动程序时,它显示了一个崩溃错误。

4

2 回答 2

0

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

于 2012-09-25T13:15:20.930 回答
0

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

    void bugInfoChanged();

在cpp中是这样的:

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

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

于 2012-09-25T08:56:43.713 回答