from PySide6.QtWidgets import QApplication, QWidget, QFileDialog, QListView, QTreeView, QAbstractItemView
import sys
def select_dirs() -> list:

    app = QApplication([])
    file_dialog = QFileDialog()
    file_dialog.setFileMode(QFileDialog.Directory)
    file_dialog.setOption(QFileDialog.DontUseNativeDialog, True)
    file_dialog.setDirectory('/mnt/m/pipe/timgs/sonobot-generic')
    file_view = file_dialog.findChild(QListView, 'listView')
    # to make it possible to select multiple directories:
    if file_view:
        file_view.setSelectionMode(QAbstractItemView.MultiSelection)
    f_tree_view = file_dialog.findChild(QTreeView)
    if f_tree_view:
        f_tree_view.setSelectionMode(QAbstractItemView.MultiSelection)

    paths=[]
    if file_dialog.exec():
        paths = file_dialog.selectedFiles()

    return paths

if __name__ == "__main__":
    print(select_dirs())
