2011-12-21 6 views

答えて

0

のためにすべてのモデル/ビューシステムにおける検証のためのサポートが組み込まれますが、これは行うにはあまりにも難しいことではないでしょうがありません。

QAbstractItemModel::setDataで入力を検証し、無効の場合はfalseを返し、検証の結果をどこかに格納する必要があります。

[QAbstractItemModel::data]で、Qt::BackgroundRoleロールの色を変えて何かが間違っていることを通知できるようになりました。

さらに、カスタムQAbstractItemDelegateを実装すると、有効なエディタを作成できるようになり、ユーザにフィードバックを提供することができます。

デリゲートは、QAbstractItemView::setItemDelegateまたはsetItemDelegateFor*のいずれかの機能でビューに設定されます。

1

あなたが特定の列を塗装するためのカスタムデリゲートを設定して行う必要があり、このデリゲートは、選択したウィジェットをペイントし、このウィジェットにsetValidator(...)を使用してバリデータを設定する必要があり

バリデータは以下のようになりカスタムバリデータ(QValidatorを継承するクラス)または既存のバリデータです。

カスタムアイテムデリゲートの設定については、このリンクを参照してください。 http://qtwiki.org/Creating_QTableView_TextEditDelegate

そして、これはバリ http://www.qtcentre.org/threads/39310-Some-QComboBox-and-custom-QValidator-background

+0

#クリストファーに感謝します。 – user336635

関連する問題