def initUI(self): vbox = QtWidgets.QVBoxLayout() self.setLayout(vbox) hbox = QtWidgets.QHBoxLayout() vbox.addLayout(hbox) self.treeView = QtWidgets.QTreeView(self) hbox.addWidget(self.treeView) #self.treeView.setGeometry(0,0, 600, 800) self.dirModel = QtWidgets.QFileSystemModel() self.path = "C:\\" self.dirModel.setRootPath(self.path) self.dirModel.setFilter(QtCore.QDir.AllDirs | QtCore.QDir.Dirs | QtCore.QDir.NoDotAndDotDot | QtCore.QDir.Hidden) self.treeView.setModel(self.dirModel) #self.treeView.setRootIndex(self.dirModel.index(self.path)) #self.treeView.expandAll() self.treeView.clicked.connect(self.on_treeView_clicked) #self.listView = QtWidgets.QListView(self) #self.listView = QtWidgets.QTreeView(self) self.listView = QtWidgets.QTableView(self) hbox.addWidget(self.listView) self.fileModel = QtWidgets.QFileSystemModel() #self.fileModel.setFilter(QtCore.QDir.Files | QtCore.QDir.Dirs | QtCore.QDir.Hidden) self.fileModel.setFilter(QtCore.QDir.Files | QtCore.QDir.Hidden) self.listView.setModel(self.fileModel) #self.setGeometry(300, 300, 600, 800) self.setWindowTitle('Select File')
def __init__(self, parent=None): QtWidgets.QWidget.__init__(self, parent) self.settings = QtCore.QSettings("rgerum", "net browser") # self.setCentralWidget(self.frame) #hlayout = QtWidgets.QVBoxLayout(self) """ browser""" self.dirmodel = QtWidgets.QFileSystemModel() # Don't show files, just folders # self.dirmodel.setFilter(QtCore.QDir.NoDotAndDotDot | QtCore.QDir.AllDirs) self.dirmodel.setNameFilters(["*.csv"]) self.dirmodel.setNameFilterDisables(False) self.folder_view = self #QtWidgets.QTreeView(parent=self) self.folder_view.setModel(self.dirmodel) self.folder_view.activated[QtCore.QModelIndex].connect(self.clicked) self.folder_view.selectionChanged = self.clicked self.folder_view.setSelectionMode(self.ExtendedSelection) # self.folder_view.selected[QtCore.QModelIndex].connect(self.clicked) # Don't show columns for size, file type, and last modified self.folder_view.setHeaderHidden(True) self.folder_view.hideColumn(1) self.folder_view.hideColumn(2) self.folder_view.hideColumn(3) self.selectionModel = self.folder_view.selectionModel() #hlayout.addWidget(self.folder_view) if self.settings.value("browser/path"): self.set_path(self.settings.value("browser/path")) self.set_path( r"\\131.188.117.96\biophysDS\emirzahossein\microfluidic cell rhemeter data\microscope_1\august_2020\2020_08_21_alginate2%_NIH_xposition_1" )
def __init__(self, parent=None): QtWidgets.QWidget.__init__(self, parent) self.settings = QtCore.QSettings("fabrylab", "flowcytometer browser") # self.setCentralWidget(self.frame) #hlayout = QtWidgets.QVBoxLayout(self) """ browser""" self.dirmodel = QtWidgets.QFileSystemModel() # Don't show files, just folders # self.dirmodel.setFilter(QtCore.QDir.NoDotAndDotDot | QtCore.QDir.AllDirs) self.dirmodel.setNameFilters(["*.tif"]) self.dirmodel.setNameFilterDisables(False) self.folder_view = self #QtWidgets.QTreeView(parent=self) self.folder_view.setModel(self.dirmodel) self.folder_view.activated[QtCore.QModelIndex].connect(self.clicked) # self.folder_view.selected[QtCore.QModelIndex].connect(self.clicked) # Don't show columns for size, file type, and last modified self.folder_view.setHeaderHidden(True) self.folder_view.hideColumn(1) self.folder_view.hideColumn(2) self.folder_view.hideColumn(3) self.selectionModel = self.folder_view.selectionModel() #hlayout.addWidget(self.folder_view) if self.settings.value("browser/path"): self.set_path(self.settings.value("browser/path")) else: self.set_path(r"\\131.188.117.96\biophysDS") self.setAcceptDrops(True)
def setup(self): self.ui = load_qt_ui_file(sibling_path(__file__, "data_browser.ui")) self.ui.show() self.ui.raise_() self.views = OrderedDict() self.current_view = None self.settings.New('data_filename', dtype='file') self.settings.New('browse_dir', dtype='file', is_dir=True, initial='/') self.settings.New('file_filter', dtype=str, initial='*.*,') self.settings.data_filename.add_listener(self.on_change_data_filename) self.settings.New('auto_select_view', dtype=bool, initial=True) self.settings.New('view_name', dtype=str, initial='0', choices=('0', )) # UI Connections self.settings.data_filename.connect_to_browse_widgets( self.ui.data_filename_lineEdit, self.ui.data_filename_browse_pushButton) self.settings.browse_dir.connect_to_browse_widgets( self.ui.browse_dir_lineEdit, self.ui.browse_dir_browse_pushButton) self.settings.view_name.connect_bidir_to_widget( self.ui.view_name_comboBox) self.settings.file_filter.connect_bidir_to_widget( self.ui.file_filter_lineEdit) # file system tree self.fs_model = QtWidgets.QFileSystemModel() self.fs_model.setRootPath(QtCore.QDir.currentPath()) self.ui.treeView.setModel(self.fs_model) self.ui.treeView.setIconSize(QtCore.QSize(16, 16)) self.ui.treeView.setSortingEnabled(True) #for i in (1,2,3): # self.ui.treeView.hideColumn(i) #print("="*80, self.ui.treeView.selectionModel()) self.tree_selectionModel = self.ui.treeView.selectionModel() self.tree_selectionModel.selectionChanged.connect( self.on_treeview_selection_change) self.settings.browse_dir.add_listener(self.on_change_browse_dir) self.settings['browse_dir'] = os.getcwd() # set views self.load_view(FileInfoView(self)) self.load_view(NPZView(self)) self.settings.view_name.add_listener(self.on_change_view_name) self.settings['view_name'] = "file_info" self.settings.file_filter.add_listener(self.on_change_file_filter) #self.console_widget.show() self.ui.console_pushButton.clicked.connect(self.console_widget.show) self.ui.show()
def __init__(self, parent=None): super().__init__(parent) layout = QtWidgets.QHBoxLayout(self) pal = self.palette() pal.setColor(QtGui.QPalette.Background, pal.color(QtGui.QPalette.Base)) self.setPalette(pal) self.setAutoFillBackground(True) self.setFrameShape(self.StyledPanel) self.layout().setContentsMargins(4, 0, 0, 0) self.layout().setSpacing(0) # Edit presented path textually self.line_address = QtWidgets.QLineEdit(self) self.line_address.setFrame(False) self.line_address.hide() self.line_address.keyPressEvent_super = self.line_address.keyPressEvent self.line_address.keyPressEvent = self.line_address_keyPressEvent self.line_address.focusOutEvent = lambda e: self._cancel_edit() self.completer = QtWidgets.QCompleter(self) # FIXME: # self.completer.setModel(QtCore.QStringListModel()) fs_model = QtWidgets.QFileSystemModel(self.completer) fs_model.setRootPath("") fs_model.setFilter(QtCore.QDir.Dirs | QtCore.QDir.Drives | QtCore.QDir.NoDotAndDotDot | QtCore.QDir.AllDirs) self.completer.setModel(fs_model) self.completer.setCaseSensitivity(Qt.CaseInsensitive) self.completer.activated.connect(self.set_path) self.line_address.setCompleter(self.completer) layout.addWidget(self.line_address) # Container for `btn_crumbs_hidden`, `crumbs_panel`, `switch_space` self.crumbs_container = QtWidgets.QWidget(self) crumbs_cont_layout = QtWidgets.QHBoxLayout(self.crumbs_container) crumbs_cont_layout.setContentsMargins(0, 0, 0, 0) crumbs_cont_layout.setSpacing(0) layout.addWidget(self.crumbs_container) # Hidden breadcrumbs menu button self.btn_crumbs_hidden = QtWidgets.QToolButton(self) self.btn_crumbs_hidden.setAutoRaise(True) self.btn_crumbs_hidden.setPopupMode(QtWidgets.QToolButton.InstantPopup) self.btn_crumbs_hidden.setArrowType(Qt.LeftArrow) self.btn_crumbs_hidden.setStyleSheet("QToolButton::menu-indicator {" "image: none;}") self.btn_crumbs_hidden.setMinimumSize( self.btn_crumbs_hidden.minimumSizeHint()) self.btn_crumbs_hidden.hide() crumbs_cont_layout.addWidget(self.btn_crumbs_hidden) menu = QtWidgets.QMenu(self.btn_crumbs_hidden) # FIXME: menu.aboutToShow.connect(self._hidden_crumbs_menu_show) self.btn_crumbs_hidden.setMenu(menu) # Container for breadcrumbs self.crumbs_panel = QtWidgets.QWidget(self) crumbs_layout = QtWidgets.QHBoxLayout(self.crumbs_panel) crumbs_layout.setContentsMargins(0, 0, 0, 0) crumbs_layout.setSpacing(0) crumbs_cont_layout.addWidget(self.crumbs_panel) # Clicking on empty space to the right puts the bar into edit mode self.switch_space = QtWidgets.QWidget(self) s_policy = self.switch_space.sizePolicy() s_policy.setHorizontalStretch(1) self.switch_space.setSizePolicy(s_policy) self.switch_space.mouseReleaseEvent = self.switch_space_mouse_up crumbs_cont_layout.addWidget(self.switch_space) self.btn_browse = QtWidgets.QToolButton(self) self.btn_browse.setAutoRaise(True) self.btn_browse.setText("...") self.btn_browse.setToolTip("Browse for folder") self.btn_browse.clicked.connect(self._browse_for_folder) layout.addWidget(self.btn_browse) self.setMaximumHeight(self.line_address.height()) # FIXME: self.first_visible, self.l_breadcrumbs = 0, None self.path_ = None self.set_path(Path())