QSqlTableModelからデータを取得するQTableViewを作成しましたが、テーブルビューから変更された値が自分のデータフォーマットと同じになるように検証を設定します。 どうすればいいですか?qt-テーブルビューからの入力用バリデータを設定する
0
A
答えて
0
あなたはあなたのビューでのアイテムのためのカスタムデリゲートを作成し、不適切にフォーマットされたデータを挿入しようとする試みを傍受することでsetModelData
メソッドをオーバーライドすることができます:カスタムデリゲートが実装されている
たら、あなたがする必要があります
view->setItemDelegate(new MyDelegate(view));
0
私が参照しているデータ形式は検証の一種であると仮定しています。その場合、 これを行う別の方法は、実際のカスタムを追加することですMyValidator -> QValidator
(->
implies from derived)。あなたがメンバーとしてデリゲートにMyValidator
オブジェクトをインスタンス化する必要があり、その後、ラインエディタ上でバリデータを設定する以外、@ドミトリーのコードは、同じようになります:あなたは純粋を実装する必要がありMyValidator
クラスで
myValidator = new MyValidator; // some args if you need ...
lineEdit->setValidator (&myValidator);
virtual QValidator::State validate(QString& input, int& pos) const
メソッド。QValidator
クラスの。すべての書式設定と検証規則をそこに入れることができます。
ユーザーは、カスタムルールに従って適切な形式でデータを入力せずにラインエディタから出ることはできません。他のメッセージボックスを呼び出す必要はありません。
私はほぼ同じ要件を満たしていました。
関連する問題
- 1. 入力ファイルのバリデータを設計するには?
- 2. バリデータのみ入力値が
- 3. google sitemap直接入力バリデータ
- 4. セクションカテゴリのテーブルビューにデータを入力する
- 5. パイプから入力フィールドのプレースホルダを設定する
- 6. ウェブページから角度成分の入力値を設定する
- 7. PHP - 入力からcanvas.jsグラフの値を設定する
- 8. JSONオブジェクトの値をドロップダウンとテキスト入力から設定する
- 9. tableModelにバリデータをインストールするQt
- 10. バリデータの入力にasp.netでMooToolsの使用法を使用できますか?
- 11. 複数のデバイスからの入力用にapache chainsawを設定する方法
- 12. データから入力の 'value'属性を設定しますか?
- 13. 入力テキストから専用のvar文字列を設定する
- 14. Qt XML入力
- 15. javafxでテーブルビューにデータを入力する
- 16. 正規表現バリデータの制限入力
- 17. 約束データからフォーム入力値を設定する
- 18. alertDialogからtextViewにeditText入力を設定する方法
- 19. (配列構文を使用して)入力バリデータのカスタムエラーメッセージ
- 20. 入力から値を取り出して別の入力ボックスに設定
- 21. レジスタを使用した入力設定
- 22. デフォルトのCSS幅を入力値から設定します
- 23. 入力(cin)のタイムアウトを設定する
- 24. 入力フィールドのリストを設定する
- 25. ユーザ入力のタイムアウトを設定する
- 26. 入力フィールドの値を設定する
- 27. プロジェクト設定 - 入力
- 28. jqueryからの入力タイプのキー値を設定
- 29. PHP Laravel:入力をチェックするためのバリデータ
- 30. テキストを入力からAjaxに設定します$ .get
私は行の編集について知っていますが、テーブルビューでそれを実装する方法 –
@Dmitryの答えを使用してカスタムデリゲートを作成します。さらに、 'createEditor'メソッドをオーバーライドしてから、私の答えに示されているように、' validate() 'メソッドを提供しながら、カスタムの' QValidator'を作成したエディタにアタッチしてください。 – NameRakes