2021-12-30

【備忘録】QTreeView

PySide (Qt for Python) は、Qt(キュート)の Python バインディングで、GUI を構築するためのクロスプラットフォームなライブラリです。最新のバージョンは Qt6 に対応した PySide6(記事執筆時点で 6.2.2.1)です。

しばらく使っていないと QTreeView クラスの使い方、特にモデルの使い方を忘れてしまうので、たびたび Web 上のマニュアルサイト [1] を見ることになるのですが、サイトにはできあいの QFileSystemModel を使った例が説明されています。このモデルを使ったことが無かったので、簡単なサンプルを作ってみました。

本記事では、下記の OS 環境を使用しています。

Fedora 35 Workstation x86_64
qt_treeview.py の実行例
qt_treeview.py
#!/usr/bin/env python
# coding: utf-8
import sys
from PySide6.QtCore import QDir
from PySide6.QtWidgets import (
QApplication,
QFileSystemModel,
QMainWindow,
QTreeView,
)
class Example(QMainWindow):
def __init__(self):
super().__init__()
self.init_ui()
self.setWindowTitle('TreeView')
def init_ui(self):
tree = QTreeView()
self.setCentralWidget(tree)
model = QFileSystemModel()
model.setRootPath(QDir.currentPath())
tree.setModel(model)
def main():
app = QApplication(sys.argv)
ex = Example()
ex.show()
sys.exit(app.exec())
if __name__ == '__main__':
main()
view raw qt_treeview.py hosted with ❤ by GitHub

参考サイト

  1. QTreeView — Qt for Python
  2. QFileSystemModel — Qt for Python

 

ブログランキング・にほんブログ村へ bitWalk's - にほんブログ村 にほんブログ村 IT技術ブログ Linuxへ
にほんブログ村

0 件のコメント: