組み込み制御にQTableView?
質問
ように小さなqtのアプリを使用PyQt4)やっかいものに迷ったらどのように実行いたします。いQTableViewを表すデータの一部ていただきたいと思いますように追加の別カラムのQTableViewを含むチェックボックス制御できる有線までの一部のモデルです。例えば、このようなもの:
注の削除欄にはチェックボックスウィジェットのための各行はこのウェブアプリ、デスクトップQtのアプリは、元は同一です)。ボーナスポイントできれば、複数行を選択し、右クリックし、"チェックイン/チェックを外を選択".
場合は、この数が不明なドロップコメントこそもそもの私の回答の解明.
解決
の実施に自分のテーブルモデルの作用 QStandardItemModel
(@Andy勧告するものではきめ細かな制御したいことをいっていただけるように要約しなければならない。いい Qtのドキュメント や PyQtのクラスの文書化 とできるような授業があります。(Iがoverexplainingしてください。 QTableView
がよくるものがあるな、と思っています。)
車checkable国:
- の作成クラスのサブクラス
QTableModel
.- 選択データ構造の店舗の内容を行った。このインターネットはモバイル(内部リストが付いており、複雑なSQLデータベース(この場合は参照
QSqlTableModel
その代わり - オーバーライド
rowCount
,columnCount
,data
, は、setData
.rowCount
やcolumnCount
対応もかなり直接ご使用のためのデータモデルです。の場合は基本的には2次元配列(またはリストのリストなどがナ.data
がく面白いです。品目モデル店舗数の異なる分野(Qt通話 役割 そdata
を返します)によって異なりの役割を求められています。ご注意だと思うのですが、もっとつのデータ型のうちに返されるものでも必要に包まれた入りQVariant
.Qt.DisplayRole
でもテキストで表示され、細胞の表に示す。これは実際のデータが共通の場合(デフォルトでは、depthパネルです。Qt.CheckStateRole
はboolean.帰国Qt.Checked
表示を確認のチェックボックス、Qt.Unchecked
戻り、チェックします。だいたいカラムを含むはチェックボックスのみを取り扱っています。- その他の役職に役立つアイコン、背景色、その他の多くの特徴がみになれます。
- 他の独自のレンダリングメカニズムの役割を返す必要がある
QVariant
.
setData
が対称にdata
.で処理する必要がありますの役割取り扱いにdata
:Qt.DisplayRole
実際のデータQt.CheckStateRole
のチェックします。
- 選択データ構造の店舗の内容を行った。このインターネットはモバイル(内部リストが付いており、複雑なSQLデータベース(この場合は参照
する複数選択の行と列および細胞だいたい理解 選択モデル.ハロウィンパーティーには:
- の設定 選択モード テーブルビュー:
view.setSelectionMode( QAbstractItemView.ContiguousSelection
).このまだ見の連続する細胞。き選任意の細胞がどの見QAbstractView.SelectionMode
. - るかを決定する細胞が実際に選択した以下のアクションの表示、 選択モデル (注の 'l'):
view.selectionModel().selectedIndexes()
.きに対し繰り返し操作を行うことfor
ループを実行します。
を右クリックす:
- オーバーライドでのご観光スポットの拠点に
contextMenuEvent
. - の作成
QMenu
接続してもスロットあります。
より深い理解を読む Qtガイドモデルとビュー ださい。あの Qt商品の眺望例.多くのものを記述して実施されPyQtに少ないコードを含む@Jesseつのツリーモデル事例をテーブルが少なく作業を実装するために必要なも少なく、上記のとおりです。)
他のヒント
あなたはまた、あなたの「チェック可能」状態を経アイテムと対話するためのインタフェースを提供しますQStandardItemModel、見ている可能性が!
またQAbstractItemModelから継承し、役割のQtを使用することができます:: CheckStateRole ...
あなたは、列のカスタムアイテムのデリゲートを作成することができ++のQt / Cで。私はあなたがPyQtは非常に似何かを行うことができます引き受けます。次の例を参照してください。