-
Notifications
You must be signed in to change notification settings - Fork 0
/
starter.py
59 lines (48 loc) · 1.73 KB
/
starter.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
import os
import sys
from PyQt6.QtWidgets import *
from main2 import experiment_holder
# from my_functions import add
class filedialogdemo(QWidget):
def __init__(self, parent=None):
super(filedialogdemo, self).__init__(parent)
layout = QVBoxLayout()
self.btn = QPushButton("Find Folder")
self.btn.clicked.connect(self.getfile)
layout.addWidget(self.btn)
self.le = QLabel("Hello")
layout.addWidget(self.le)
self.btn1 = QPushButton("Send Files for Analysis")
self.btn1.clicked.connect(self.getfiles)
layout.addWidget(self.btn1)
self.contents = QListWidget()
self.contents.setSelectionMode(self.contents.SelectionMode.MultiSelection)
layout.addWidget(self.contents)
self.setLayout(layout)
self.setWindowTitle("Choose Files to be Analyzed")
def getfile(self):
global folder
global exp_names
folder = str(QFileDialog.getExistingDirectory(self, "Select Directory"))
exp_names = [name for name in os.listdir(folder) if name[0:7].isnumeric()]
self.le.setText(folder)
x=0
for i in exp_names:
self.contents.insertItem(x,i)
x=x+1
def getfiles(self):
selectedList = self.contents.selectedItems()
textList = []
textList.clear()
for i in selectedList:
# print(type(i.text()))
textList.append(i.text())
# print(textList)
# print(selectedList.text())
self.hide()
experiment_holder(folder, textList)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = filedialogdemo()
ex.show()
sys.exit(app.exec())