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
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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() |
参考サイト

にほんブログ村
0 件のコメント:
コメントを投稿