[central widget] add tree view

This commit is contained in:
Jan Grewe 2020-12-30 16:32:06 +01:00
parent 3bed49a280
commit b569231b47

View File

@ -1,11 +1,12 @@
import os import os
from PyQt5.QtWidgets import QFrame, QLabel, QListWidget, QListWidgetItem, QStackedLayout, QVBoxLayout, QWidget, QGridLayout, QSpacerItem, QSizePolicy from PyQt5.QtWidgets import QFrame, QLabel, QListWidget, QListWidgetItem, QStackedLayout, QVBoxLayout, QWidget, QGridLayout, QSpacerItem, QSizePolicy, QTreeView, QHeaderView
from PyQt5.QtGui import QPixmap from PyQt5.QtGui import QPixmap
from PyQt5.QtCore import Qt, QSettings from PyQt5.QtCore import Qt, QSettings
from file_handler import FileHandler from file_handler import FileHandler
import communicator as comm import communicator as comm
import constants as cnst import constants as cnst
from tree_model import TreeModel
class CentralWidget(QWidget): class CentralWidget(QWidget):
@ -22,6 +23,7 @@ class CentralWidget(QWidget):
def show_file_content(self): def show_file_content(self):
self._stack.setCurrentIndex(1) self._stack.setCurrentIndex(1)
self._file_view.update()
def reset(self): def reset(self):
self._file_view.reset() self._file_view.reset()
@ -33,10 +35,27 @@ class FileView(QWidget):
def __init__(self, parent=None) -> None: def __init__(self, parent=None) -> None:
super().__init__(parent=parent) super().__init__(parent=parent)
self.setLayout(QVBoxLayout())
self.layout().addWidget(QLabel("FileView"))
self._file_handler = FileHandler() self._file_handler = FileHandler()
grid = QGridLayout()
grid.addWidget(QLabel("FileView"), 0, 0, 1, 3)
self.setLayout(grid)
self._view = QTreeView()
self._view.setAlternatingRowColors(True)
self._view.setUniformRowHeights(True) # Allows for scrolling optimizations.
self._view.setWindowTitle("Simple Tree Model")
header = self._view.header()
header.setStretchLastSection(False)
header.setSectionResizeMode(1, QHeaderView.ResizeToContents)
header.setSectionResizeMode(2, QHeaderView.ResizeToContents)
header.setSectionResizeMode(0, QHeaderView.Stretch)
grid.addWidget(self._view, 1, 0, 3, 3)
def update(self):
model = TreeModel(self._file_handler)
self._view.setModel(model)
def reset(self): def reset(self):
print("FileView ", self._file_handler.is_valid) print("FileView ", self._file_handler.is_valid)
pass pass