Skip to content

Instantly share code, notes, and snippets.

@ben-hearn-sb
Created November 22, 2020 19:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ben-hearn-sb/c74fa51f06c1c76a9d5f4446e48b95ef to your computer and use it in GitHub Desktop.
Save ben-hearn-sb/c74fa51f06c1c76a9d5f4446e48b95ef to your computer and use it in GitHub Desktop.
from PySide2 import QtWidgets, QtGui, QtCore
import sys
_FILEPATH = '/Users/benhearn/Music/tracks'
class File_System_Model(QtWidgets.QFileSystemModel):
def __init__(self, root):
QtWidgets.QFileSystemModel.__init__(self)
self.setRootPath(root)
filters = ['*.wav', '*.mp3']
self.setNameFilters(filters)
self.setNameFilterDisables(False)
class Tree_File_System(QtWidgets.QTreeView):
def __init__(self, root):
QtWidgets.QTreeView.__init__(self)
model = File_System_Model(root)
self.setModel(model)
self.setRootIndex(model.index(model.rootPath()))
self.hideColumn(1)
self.hideColumn(2)
self.hideColumn(3)
self.setHeaderHidden(True)
class Test(QtWidgets.QDialog):
def __init__(self):
QtWidgets.QDialog.__init__(self)
self.setMinimumHeight(500)
master_lyt = QtWidgets.QVBoxLayout()
master_lyt.setContentsMargins(0, 0, 0, 0)
master_lyt.setAlignment(QtCore.Qt.AlignTop)
file_tree = Tree_File_System(_FILEPATH)
tree_widg = QtWidgets.QTreeWidget()
tree_widg.setHeaderHidden(True)
root_item = QtWidgets.QTreeWidgetItem()
root_item.setText(0, _FILEPATH)
tree_widg.addTopLevelItem(root_item)
child = QtWidgets.QTreeWidgetItem()
child.setText(0, 'TEMP')
root_item.addChild(child)
tree_widg.setItemWidget(child, 0, file_tree)
master_lyt.addWidget(tree_widg)
self.setLayout(master_lyt)
self.show()
def main():
app = QtWidgets.QApplication(sys.argv)
app.setApplicationName("test")
font = QtGui.QFont('Arial')
font.setPointSize(10)
app.setFont(font)
window = Test()
window.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment