b554cf7f8cc5509bc89fffea39c09348

[PySide] あるリストから正規表現で抽出したリストを作る

旅行が控えめなせいで少しだけTAっぽい記事率が上がる

正規表現でリストの内容を抽出するModelとか作れそうだなーとか思っていたら
デフォルトで存在していたので試してみました。

キャプチャ2

とりあえずは例のごとくシンプルなものでテストします。

.uiファイルは こちら

ソースはこんな感じ。
LineEditで入力した内容でSourceのリストを抽出して、その結果を下のリストに表示しています。
やり方は非常に簡単
まずは、Source用のModelを作成して(26行目)
ルールに沿ってItemtを抽出する QtGui.QSortFilterProxyModel() にSorceモデルをセットして(33行目)
で、準備は完了。
あとは、ProxyModel.setFilterRegExp()で、正規表現をセットすればOKです。

正規表現や、大文字小文字を含めるか 等のルールはQRegExpの引数で指定します。
今回は、大文字小文字を区別しないで 一般的な正規表現のルールで抽出するようにしています。

はじめはModel/ViewよりWidget使った方が楽じゃね?とか思ってましたけど
ちゃんと調べるとModel/Viewの有用性が理解できる気がします。
便利便利。

コメントを残す

メールアドレスが公開されることはありません。


*