問題タブ [qmodelindex]
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.
c++ - QModelIndexをQStringに変換する
QModelIndexをQStringに変換する方法はありますか?この背後にある主な目標は、動的に生成されたQListView-Itemsのコンテンツを操作することです。
これは、現在選択されているアイテムを取得する正しい方法でもありますか?
前もって感謝します!
qt - Qtで、QModelIndexの直接の子インデックスを並べ替える方法
Qtクラスを使用して特定のデータモデルを操作するC++アプリケーションを作成しています。その目的のために私はから継承しましたQAbstractItemModel
:
ある時点で、アプリケーションに並べ替え/フィルターオプションが必要になったため、から継承するクラスも作成しました。QSortFilterProxyModel
並べ替えを実現するために、デフォルトのQSortFilterProxyModel::sort()
メソッドを使用し(プロキシモデルクラスで再実装していません)、しばらくの間は機能しているように見えました。
しかし、ある時点で、実際のQSortFilterProxyModel::sort()
メソッドはモデル全体をソートすることに気付きました。必要なのは、特定のインデックスの直接の子のみをソートすることです。
sort()
クラスのメソッドを再実装しようとしましたが、しばらくすると、それがまったく参照されていないEventModel
ことに気付きました。QSortFilterProxyModel::sort()
一方、モデルを表示するビューがクラッシュしないように、インデックスを安全な方法で再配置する方法がわかりません。
ある特定の子だけを並べ替える方法があるはずだと思いますが、QModelIndex
まだ見つけていません。
私のケースの可能な解決策を示すチュートリアル/例、またはそれを行う方法に関するいくつかのガイドラインはありますか?
よろしく
qt - QAbstractTableModel: index() 対 createIndex()
QAbstractTableModel をサブクラス化する場合、特定の行と列の QModelIndex を取得する適切な方法は何ですか (たとえば、便利なメソッド data(int row, int column) を提供するため)?
index() と createIndex() があります - どちらもそうしているようですか?
例:
python - テーブルのcentainセルで必要なデータを取得できないのはなぜですか?
基本的に、最初の関数では、マウスを使用して選択したセルを取得し、data()メソッドを使用してそのセルからデータを取得し、最初の関数で表示することができます。
ただし、セルを選択すると、その行の最初のセル(最初の列)のデータが表示されるように少し変更したいと思います。選択したセルのindex(currentCell)がすでにあるので、新しいModelIndexオブジェクトをインスタンス化して、選択したインデックスをそれに割り当てます。次に、オブジェクトの列を0に変更します。最後に、data()mtohodを使用して新しいオブジェクトでデータを取得したいのですが、何もありませんでした。nullです。多くの時間を費やしていて、何であるかわかりません。問題。助けて読むためにいくつかの努力を提供してくれた人に感謝します:)
qt - QAbstractTableModel :: data()でQMapに正しくアクセスする方法
識別子と対応するオブジェクトを含むQMapを取得しました。QAbstractTableModel :: data()をサブクラス化すると、それぞれ行と列を持つQModelIndexが得られます。各行は1つのオブジェクトを表す必要があります(QAbstractTableModel :: rowCount()はmyMap-> size()です)。
経由で現在のオブジェクトを取得することは合法ですか
(ソートされていない)マップの識別子がバイパスされるため、この影響(ソート、挿入)はありますか?つまり、QAbstractTableModel :: setData()の場合、同じマップ識別子をバイパスする必要がありますか?!ありがとう。
qt - How should we create parent QModelIndex while calling beginInsertRows(parent, first, last)?
It is more concrete version of this question.
I want to report to the view that I'm going to insert some rows to my model. There are two ways to call beginInsertRows
:
and
There is a difference: in the 2nd variant QModelIndex
will store pointer to our model inside itself. And in Qml internals:
the body of if
statement will not be executed because it seems that rootIndex
always does not store pointer to the model (i.e. it stores NULL instead)
I have created test Qt5 application
So, my question is: Is it bug or feature? Have somebody tried this buggy invocation before me?
qt - QAbstractItemView で可視 QModelIndex のリストを取得する方法
で現在表示されているアイテムのリストを取得する方法はありますQAbstractItemView
か? また、可能であれば、このリストの変更に関する通知を受け取ります。
Upd:ではなく、単純でない構造についてQAbstractItemView
、またはそれを使用して正確に質問しています。QTreeView
QTableView
Upd2: チェックボックス付きのツリー ビュー モデルを実装しています。次の動作が必要です(チェック/チェック解除も同じ):
- チェックボックスの1つがチェックされている場合 - すべての子をチェックする必要があります
- すべての子チェックボックスがチェックされている場合、親チェックボックスもチェックする必要があります。親の親などについても同じです...
チェック状態は外部データ ソースによって監視/変更されるため、変更されたすべての子/親を更新するメカニズムが必要です。更新のためにdataChanged
変更されたすべてのリストを作成するのは非常に広大であるため、シグナルは私にとって十分ではありません。QModelIndex
また、新しいデータはすべて から取得されるため、まったく必要ありませんQAbstractItemModel::data
。
すべてのアイテムを更新するための次の汚いハックを見つけましemit dataChanged( QModelIndex(), QModelIndex() );
たが、無効なインデックスについては文書化されていません。
したがって、表示されているすべてのアイテムを新しいデータで強制的に再描画する方法が必要です。
qt - QTableView からのファイルの読み取りと書き込み
QTableViewに入力されたテキストファイルの日付を読み書きするにはどうすればよいですか?
これは私が持っているものですが、テーブルに追加されたときにデータを保存し、もちろんアプリケーションを再度開いたときにデータを読み戻せるようにしたいと考えています。参照できるチュートリアルはありますか?
どうもありがとう
編集 - - - - - - - - - - - - - - - -
これは私のために働いたものです:
機能を追加:
保存機能:
ロード機能:
qt - QModelIndex::parent は、プログラムのデバッグ時にセグメンテーション違反を引き起こします
以下のコードは正常に動作します。しかし、デバッグしようとすると、「*」でマークされた文字列にセグメンテーション違反エラーが発生します。私は何を間違っていますか?
シグナルとスロットを接続するには、次の構造を使用します。