問題タブ [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.
python - Qt と Python を使用して QTableView で QCompleter を使用する
QAbstractTableModel editable を作成する方法を読んでいますが、かなり簡単に見えます。
しかし、編集可能なセルを設定して QCompleter を使用するにはどうすればよいでしょうか? QTableViewにQLineEditウィジェットを使用するように指示する必要がありますか?これどうやってするの?
編集: うーん、QTableView.setItemDelegateForColumn()で何かがあると思いますが、デリゲートやその使用方法については何も知りません。
編集:RobbieEのソリューションを試してみましたが、そのようなものはありましたが、ポップアップコンボボックスのジオメトリが間違っていて、Enterを押すとPythonがクラッシュしました.
私の _completerSetupFunction は次のようになります。
c++ - 文字列が既に存在するかどうかを確認するQTableView
モデル/ビューを使用して文字列をTableViewに入れるプログラムがあります。私のモデルは QAbstractTableModel から拡張し、私のビューは QTableView から拡張します。私のモデルの名前でソートしていますsetData()
:
ここで、追加する文字列がテーブルに既に存在するかどうかを確認します。存在する場合は追加しません。QTableWidget
私はそうすることができますit
:
しかし、QTableViewではわかりません。私は何をすべきか ?
次に、テーブルに常にチェックボックスがありますが、追加したことはありません。1を追加すると、チェックボックスが自動的に青色になります。
これは非常に奇妙に動作する methode へのリンクです: View::PushButtonClicked
python - ヘッダーを保持しながら、空の 2 次元配列で QAbstractTableModel を初期化する方法
小さな例で私の問題を示します。
TaskModel クラスには 2 行の__init__
関数があることに注意してください。最初の行は [[" ", " ", " ", " "]] を __task のデフォルト データ セットとして指定し、2 行目は代わりに [[]] を指定します。
最初のものはうまくいきます:
一番下に不要な行があることを除いて。
2 番目の__init__
関数は、不要な行を削除しようとして [[]] をデフォルトのデータセットとして使用しましたが、結果は悲惨なものになりました。
不要な一番下の行を削除しながら、ヘッダーとすべてを機能させるにはどうすればよいですか?
python - モデル内から QTableView インデックスまたは行を選択する方法
投稿されたコードは、singe を作成しますModel/Proxy
QTableView
。複数選択機能が有効になっています。
全部で4つのアイテムがあります。そのうちの 2 つは文字「A」を含みます。他の 2 つは、「アイテム」名に文字「B」が含まれています。
QPushButton
押されたときにclicked()
メソッドが呼び出されます。このメソッドが呼び出されると、最初に にProxy Model
接続された を照会しQTableView
ます。
次に、メソッドはproxyModel
行の総数を返すように a に要求します。
QTabelView
各行を反復する のモデル内の行数を知る。まず、行インデックスをクエリしています。
それを知ると、前のステップで照会された a (ここでは変数) とフラグを提供するメソッドを呼び出して、変数にindex
格納されている値を要求することになります。self.items
data()
QModelIndex
index
Role
「toPyObject()」は、.data()
メソッドから受け取ったデータを「通常の」Python 変数に変換するために使用されます。
最後に、受信した文字列に文字 " B " があるかどうかをチェックします。その場合、次を使用して QTableView 行を選択します。
今私が望むのは、filterAcceptsRow()
可能であれば、プロキシモデルの範囲内から同じ選択機能を取得することです。
それが不可能な場合は、他の方法があるかどうか知りたいです...使用する必要がありますQItemSelectionModel
か? ではどうやって?
python - Pythonを使用してQTableViewでチェックボックスを非表示にする方法は?
私はPythonだけでなくQtも初めてです。QTableView
テーブルビューのセルにチェックボックスを表示せずに使用したいのですが、デフォルトでそこに表示されるようです。これまでにわかったQt.ItemIsUserCheckable
ように、フラグを無効にするだけです。しかし、どうすればこれを行うことができますか? 私はフラグを使用しようとしました -この方法で派生モデルクラス内のQAbstractItemModel lの関数:QAbstractTableModel
Qt.ItemIsUserCheckable
だから、私がしたことは、フラグを返さないだけです。これは、たとえばQt.ItemIsEditable
、セルを編集可能にするかどうか (セルが返されない場合) の場合は問題なく動作しますが、ItemIsUserCheckable
フラグを使用してこれを行うと、チェックボックスには影響しません。私の質問は次のとおりです。Pythonを使用してチェックボックスを削除するにはどうすればよいですか? 助けてください!
c++ - 基になるデータがテーブル ヘッダーを変更したことをモデル/ビューに通知する方法は?
TableModel
に基づいて読み書きを構築しましたQAbstractTableModel
。動作しますが、基になるデータが列と行のヘッダーを変更する可能性があり、それについてモデルとビューに通知する方法がわかりません (ビューがヘッダーを更新するように)。
(データ内の) 垂直ヘッダーを変更してから (ビュー -> モデルを介して) 列を挿入すると、ヘッダーが更新されます。beginInsertingX
更新を強制するために特別な方法を使用していますか?