問題タブ [qabstracttablemodel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1763 参照

model-view-controller - QAbstractTableModelのカスタムエディタ

QWidgetをQAbstractTableModelのエディターとして使用する例はありますか?
編集すると、選択肢のリストを含むQComboboxを作成する列があります。

ドキュメントは、QAbstractItemDelegateとカスタムペイント関数を作成する必要があることを示唆しているようですが、Qt::EditRoleで標準のQComboboxを単にポップアップするのはやり過ぎのようです。

注-コンボボックスの内容はすべての行で同じであり、誰かがセルをクリックしたときにのみ表示する必要があります。

これは単純なはずですが、機能させることができません。QTableWidgetベースのテーブルの場合は簡単ですが、非常に大きなデータテーブルの場合は必要です。

0 投票する
3 に答える
9842 参照

qt - QPushButtonをTableViewに挿入するには?

私は実装していますが、各行の最後の列にQAbstractTableModela を挿入したいと思います。QPushButtonユーザーがこのボタンをクリックすると、この行に関する詳細情報を含む新しいウィンドウが表示されます。

ボタンを挿入する方法を知っていますか?システムの委任については知っていますが、すべての例は「コンボボックスで色を編集する方法」についてのみです...

0 投票する
1 に答える
2311 参照

qt - QTableViewセルを編集するときに初期テキストを設定する

QAbstractTableModelをサブクラス化し、flags()メソッドをオーバーライドして、一部のテーブルセルを編集できるようにしました。問題は、編集を開始すると、既存のセル値が消去されることです。最初に既存のセル値を選択してもらいたいのですが。これどうやってするの?

0 投票する
2 に答える
17700 参照

qt - Qt QTableViewチェックボックスのみの列を持つ方法

Qt 4.6.3 でを使用してQTableViewおり、各セルにチェックボックスしかない列が必要です。QAbstractTableModelのモデルとして のカスタム サブクラスを使用していますQTableView。現在、Qt::ItemIsUserCheckableフラグを設定することでチェックボックスがあります。しかし、チェックボックスの横にある空白のテキストボックスを取り除く方法がわかりません!

列にチェックボックスだけを持たせ、他には何も持たないようにするにはどうすればよいでしょうか?

0 投票する
5 に答える
5156 参照

c++ - QTableViewでアニメーションアイコンを表示する最良の方法は何ですか?

私はこれにしばらく苦労してきましたが、これを行う正しい方法を見つけることができないようです。

私が望むのは、いくつかのアイテムの装飾としてアニメーション化されたアイコンを使用する機能です (通常、この特定のアイテムに対して何らかの処理が行われていることを示すため)。に表示するカスタム テーブル モデルがありQTableViewます。

私の最初のアイデアは、アニメーションの表示を処理するカスタム デリゲートを作成することでした。装飾ロールにが渡されるQMovieと、デリゲートは に接続してQMovie、新しいフレームが利用可能になるたびに表示を更新します (以下のコードを参照)。ただし、デリゲートのメソッドを呼び出した後、ペインタは有効なままではないようです(おそらくポインタが有効なメモリを指していないため、paintペインタのメソッドを呼び出すとエラーが発生します)。save

別の解決策はdataChanged、新しいフレームが利用可能になるたびにアイテムのシグナルを送信することですが、1) データが実際には変更されないため、多くの不要なオーバーヘッドが発生します。2) モデル レベルでムービーを処理するのはあまりきれいに見えませんQTableView。新しいフレームの表示を処理するのは、表示層 (またはデリゲート) の責任です。

Qtビューでアニメーションを表示するクリーンな(そしてできれば効率的な)方法を知っている人はいますか?


興味のある方のために、ここに私が開発したデリゲートのコードを示します (現時点では動作しません)。

0 投票する
1 に答える
4508 参照

qt - 行数が異なるQAbstractTableModelのデータを更新する方法

私は、QTableViewのデータをApacheサーバーから1秒に1回更新するアプリケーションを開発しています。サーバーはデータをXMLテーブルとして送信します。列数は一定ですが、行数は毎回変化します。行のデータも異なる場合があります。

XMLをデータに変換するために、TxTableModel(QAbstractTableModelの子)で使用されるクラスTxTableDataを作成しました。また、TxTableModelはQTimerを使用してサーバーからのデータを更新します。

問題は、行数が減少した場合、QTableviewがそれに反応しなかったことです。行数が増えたら大丈夫です。

QTableViewからすべての行を削除して新しいデータで埋める必要がありますが、QTableViewはこれを行いません。あなたはできる

0 投票する
1 に答える
3913 参照

qt - QAbstractTableModel のサブクラス化

QAbstractTableModel をサブクラス化して、QMap からのデータを表現しました。この QMap には QSqlRecords の QList があり、このマップはコードの他の部分によって変更されています。このモデルを QTableView と共に使用して、各キーのこのマップに sql レコードを表示したいと考えています。これが私のコードです。

//mymodel.h

//mymodel.cpp

巨大な投稿で申し訳ありません。しかし、問題は、マップからデータを確認できないことです。data() メソッドの実装に何か問題があるためだと思います。しかし、私はそれが何であるかを理解できません。親切に私を助けてください。ありがとうございました。

0 投票する
1 に答える
8006 参照

c++ - dataChangedを呼び出すにはどうすればよいですか

以下は、行クラスを追加する方法です。これはテーブルではなくコードによって呼び出され、新しい行が追加されたときにdataChangedを適切に呼び出すようにします。これは機能していませんが、テーブルは何もしません。私は何が間違っているのですか?

0 投票する
2 に答える
3451 参照

qt - QAbstractTableModelでのQItemDelegateの使用

QAbstractItemModelとQItemDelegateがあり、これが私の問題です。デリゲートは何もしません。そのサブルーチンが呼び出されていますが、何も起こりません。

これが私のテーブルに見たいものです。

テキスト:QComboBox:テキスト:テキスト:QProgressBar

ここで、:は列区切り記号です。

委任します。#ifndef DELEGATEACTION_H #define DELEGATEACTION_H

モデル。

私が知っている唯一の問題は、ModelAction :: setData()関数が不完全であるということです。そのサブルーチンを完了する前に、戻ってこのモデルが表示するデータクラスを編集する必要があります。それでも、コンボボックスとプログレスバーは表示されますが、何もしません。

この時点では、テーブルの各行のID番号とテストテキスト「bob」のみが表示されます。QComboBoxとQProgressBarはまったくレンダリングされません。

どんな助けでもありがたいです。

ジェック

0 投票する
1 に答える
142 参照

qt4 - テーブル ビューのアイテムがいつ変更されたかを検出する方法は?

3 つの列に異なる項目を追加するこのテーブル ビューがあります。項目は編集可能なので、ビューで直接変更できます。

上記のメソッドはテーブル モデルで宣言されており、テーブル内のデータを追加するときと変更するときに呼び出されます。

テーブル内の項目を変更した場合にのみシグナルを送信したいのですが、どうすればよいですか? 追加と変更を区別する方法はありますか?