-
Notifications
You must be signed in to change notification settings - Fork 0
/
SessionParamWidget.py
72 lines (56 loc) · 2.17 KB
/
SessionParamWidget.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
from __future__ import print_function
import sys
import vtk
import pyqtgraph as pg
from pyqtgraph.Qt import QtCore, QtGui, QtWidgets
from PyQt5 import Qt
from PyQt5.QtWidgets import QMainWindow, QApplication, QWidget, QAction, QTreeView, QFileSystemModel, QTableWidget, QTableWidgetItem, QVBoxLayout
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
import os
import copy
import time
from vtk.qt.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor
from diptera_track_ui import Ui_MainWindow
class SessionParamWidget(Qt.QWidget):
def __init__(self, parent=None):
Qt.QWidget.__init__(self, parent)
self.file_model = QFileSystemModel()
def set_directory(self,directory):
self.directory = directory
self.file_model.setRootPath(directory)
def setup_tree(self):
self.folder_select_tree.setModel(self.file_model)
self.folder_select_tree.setRootIndex(self.file_model.index(self.directory));
def connect_tree(self):
self.folder_select_tree.clicked.connect(self.set_session_folder)
def set_session_folder(self, index):
indexItem = self.file_model.index(index.row(), 0, index.parent())
fileName = self.file_model.fileName(indexItem)
filePath = self.file_model.filePath(indexItem)
print(fileName)
print(filePath)
class CheckableDirModel(QtGui.QDirModel):
def __init__(self, parent=None):
QtGui.QDirModel.__init__(self, None)
self.checks = {}
def data(self, index, role=QtCore.Qt.DisplayRole):
if role != QtCore.Qt.CheckStateRole:
return QtGui.QDirModel.data(self, index, role)
else:
if index.column() == 0:
return self.checkState(index)
def flags(self, index):
return QtGui.QDirModel.flags(self, index) | QtCore.Qt.ItemIsUserCheckable
def checkState(self, index):
if index in self.checks:
return self.checks[index]
else:
return QtCore.Qt.Unchecked
def setData(self, index, value, role):
if (role == QtCore.Qt.CheckStateRole and index.column() == 0):
self.checks[index] = value
self.emit(QtCore.SIGNAL("dataChanged(QModelIndex,QModelIndex)"), index, index)
return True
return QtGui.QDirModel.setData(self, index, value, role)