3

QStandardItemModel に接続されている QListView があります。モデルまたは QListView で情報の変更を検出するにはどうすればよいですか? モデルの itemChanged() でシグナルとスロットを試しましたが、プログラム全体がクラッシュするようです。

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

これは、Signal を接続するために使用しているコードです。関数 bugInfoChanged() は、「変更済み」という qDebug() を実行するだけです。しかし、プログラムを起動すると、クラッシュ エラーが表示されます。

4

2 に答える 2

0

この行 (//QObj...) にコメントするとクラッシュは発生しませんが、コメントを削除するとクラッシュします。「プライベートスロット」エリアにこれがあります:

    void bugInfoChanged();

cpp では次のようになります。

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

クラッシュの原因についてはわかりません:/

于 2012-09-25T08:56:43.713 に答える
0

私はそれを自分で修正しました。リストが設定されている関数に接続コードを配置すると、問題なく動作することがわかりました。アプリが起動した瞬間にリストにアイテムがなかったため、以前はクラッシュしていました。

于 2012-09-25T13:15:20.930 に答える