PyQt5 QTreeViewの列をiniファイルで設定する

Share on:

以前作成したQTreeViewのサンプルの列をiniファイルで設定できるようにしました。

iniファイルの中身

1[columns]
2column0 = ID
3column1 = Name
4column2 = Data1
5column3 = Data2
6column4 = Data3

セクションはcolumnsで、オプションはcolumn + 列番号としました。

iniファイルの読み込み

MainWindowクラスのコンストラクタで下記のコードの通りにiniファイルを読み込みました。

 1ini_file = Path('settings.ini')
 2if ini_file.exists():
 3    config = configparser.ConfigParser()
 4    config.read(ini_file)
 5    columns = []
 6    for option in [ 'column'+str(i) for i in range(1000) ]:
 7        if not config.has_option( 'columns', option ):
 8            continue
 9        columns.append( config.get( 'columns', option ) )
10    self.model.addColumns(columns)

処理は下記の通りです。

  • pathlibでiniファイルが存在するか確認
  • iniファイルはconfigparserで読み込み
  • 読み込み対象はcolumns + i(0~999)のオプション
  • columns + iのオプションが存在しなかったら読み込み完了

ソースコード

作成したコードはgithubにあります。

関連記事