Newer
Older
# -*- coding: utf-8 -*-
"""
Created on Tue Nov 19 17:38:58 2019
"""
from PyQt5.QtWidgets import QApplication, QMainWindow, QMenu, QVBoxLayout, QSizePolicy, QMessageBox, QWidget, QPushButton, QShortcut, QComboBox, QDialog, QDialogButtonBox, QInputDialog, QLineEdit, QFormLayout, QFileDialog, QLabel
from PyQt5 import QtGui
#from PyQt5.QtGui import QIcon, QKeySequence
from PyQt5.QtCore import pyqtSignal, QObject, Qt
#import PyQt package, allows for GUI interactions
class FileBrowser(QDialog):
def __init__(self, *args, **kwargs):
super(FileBrowser, self).__init__(*args, **kwargs)
self.setWindowTitle("Open Files")
self.setGeometry(100,100, 800,200)
self.button_opennd2.setEnabled(True)
self.button_opennd2.clicked.connect(self.getnd2path)
self.button_opennd2.setToolTip("Browse for an image file")
# self.button_openfolder = QPushButton('Open image folder')
# self.button_openfolder.setEnabled(True)
# self.button_openfolder.clicked.connect(self.getfolder)
# self.button_openfolder.setToolTip("Browse for folder with images")
# self.button_openfolder.setMaximumWidth(150)
self.button_openhdf.setEnabled(True)
self.button_openhdf.clicked.connect(self.gethdfpath)
self.button_openhdf.setMaximumWidth(150)
self.newhdfentry = QLineEdit()
# self.newhdfentry(Qt.AlignLeft)
self.nd2name = ''
self.hdfname = ''
#
flo = QFormLayout()
# flo.addRow('Enter Cell value 1 (integer):', self.entry1)
QBtn = QDialogButtonBox.Ok | QDialogButtonBox.Cancel
self.buttonBox = QDialogButtonBox(QBtn)
self.buttonBox.accepted.connect(self.accept)
self.buttonBox.rejected.connect(self.reject)
self.labelnd2 = QLabel()
self.labelnd2.setText('No image file (.nd2, .tif, .tiff) selected')
self.labelhdf.setText('No mask file (.h5, .tif, .tiff) selected')
self.labelfolder = QLabel()
self.labelfolder.setText('No folder selected')
# flo.addRow(self.labelfolder, self.button_openfolder)
flo.addRow(self.labelhdf, self.button_openhdf)
# flo.addWidget(self.button_openhdf)
flo.addRow('If no hdf file already exists, give a name to create a new file', self.newhdfentry)
flo.addWidget(self.buttonBox)
self.setLayout(flo)
def getnd2path(self):
# self.nd2name,_ = QFileDialog.getOpenFileName(self, 'Open image file','', 'Image files (*.nd2 *.tif *.tiff)')
dlg = QFileDialog(self, 'Open image file or folder')
dlg.setProxyModel(None)
if dlg.exec():
self.nd2name = dlg.selectedFiles()[0]
else:
return
self.hdfname,_ = QFileDialog.getOpenFileName(self,'Open mask file','', 'Mask files (*.h5 *.tif *.tiff)')
if self.hdfname != '':
self.labelhdf.setText(self.hdfname)
self.newhdfentry.setText("")
# def getfolder(self):
# self.nd2name = QFileDialog.getExistingDirectory(self, ("Select Image Folder"))
# if self.nd2name != '':
# self.labelnd2.setText(self.nd2name)