サイドバーの「Django ドキュメント検索」というプレースホルダの入った検索では、Django ドキュメント (Django 2.1) の公式サイト内を検索できます

前回、PySide2 でツリービューやリストビューを使う例として、PySide2 の QTreeView / QListView でディレクトリを表示する を書きました。今回は、単純に文字列リストをリストやコンボボックスで表示する例を紹介します。

はじめに

Model / View を使ってリスト等を表示する場合、モデルを準備する作業が必要です。ただし、単純なデータについては、前回の記事で利用した QFileSystemModel のように予めモデルが用意がされています。今回は、文字列リストを取り扱うための QStringListModel を利用して、リストやコンボボックスを表示します。

QStringListModel を使う

QStringListModel は、QListViewQComboBox で利用できる編集可能な文字列リストモデルを提供します。文字列を割り当てるには、setStringList メソッドを使います。

※ Qt では文字列を QString、文字列リストを QStringList で扱いますが、PySide2 では、単純に Python の文字列型 (string) とそのリスト型 (list) を使います。

QListView で文字列リストを表示する

それでは、実際に文字列リストをリストビューで表示してみます。

上記を実行してみます。

QComboBox で文字列リストを表示する

次に同じモデルをコンボボックスで表示してみます。上記コードの QListViewQConboBox に書き換えるだけです。

実行してみます。下段は、コンボボックスを開いたところです。

おまけ

リストとコンボボックスを比較できるように、上下に並べて表示してみました。

表示してみます。

参考

PySide2 の QTreeView / QListView でディレクトリを表示する | アルトエリア++

低価格なのに高速・多機能・高セキュリティ 月額400円(税別)から最大容量100GB WordPress専用高速サーバー Z.com WP
おすすめの記事