フェルマータ

個人用のメモ。ソフトウェアの導入とかが多くなる予定。

Qt のシグナルを一旦無効にする。

ポエム

 Qt の SIGNAL/SLOT は強力なんだが、 Undo, Redo を実装しようとしてシグナル止めて無いとユーザ編集と Undo, Redo によるモデルの変更が分からなくて Undo スタックがぶっ壊れるなと思ったので一旦シグナルを止める方法を調べた。

やり方

bool oldState = checkBox->blockSignals(true);
checkBox->setChecked(true);
checkBox->blockSignals(oldState);

まんまや。

参考資料

stackoverflow.com

スタオバさいつよ。