Найти - Пользователи
Полная версия: PyQt4 Как в QFileDialog выдать список файлов, чтобы их имена в списке показывались без расширений?
Начало » GUI » PyQt4 Как в QFileDialog выдать список файлов, чтобы их имена в списке показывались без расширений?
1
KriO
Здравствуйте. Что-то мне не удалось найти такую опцию.
Еще один вопрос: как сделать, чтобы диалог не закрывался после выбора файла?
Я использую свой класс на базе QDialog, в котором в QSplitter вставлены два виджета: один реализован в классе на базе QFileDialog с опцией DontUseNativeDialog, а в другой вставлен QWidget для предварительного просмотра выбранного файла (графический файл собственного формата). При выборе файла диалог автоматически закрывается, т.е. нет возможности сделать предварительный просмотр. По кнопке “открыть” (стандартная кнопка в QFileDialog) срабатывает метод accept, и диалог закрывается.

Спасибо.
Rodegast
> Я использую свой класс на базе QDialog, в котором в QSplitter вставлены два виджета: один реализован в классе на базе QFileDialog



По теме: https://pythonspot.com/en/pyqt5-directory-view/
KriO
Спасибо. Значит придется все же заморочиться с QTreeView и QFileSystemModel. А я так надеялась, что можно QFileDialog-ом обойтись, т.к. там уже всё есть готовое.
KriO
А вот интересно: в OC Windows диалог по сигналу fileSelected не закрывается, а в линуксе CentOS-7 закрывается. Может это происки KDE?
Rodegast
Да чего там заморачиваться?
 #!/usr/bin/python
 
import sys
from PyQt4 import QtCore, QtGui
 
class MainWindow(QtGui.QMainWindow):
    def __init__(self, parent = None):
        QtGui.QMainWindow.__init__(self, parent)
        centralWidget = QtGui.QTreeView()
        centralWidget.setAnimated(False)
        centralWidget.setIndentation(20)
        centralWidget.setSortingEnabled(True)
 
        self.setCentralWidget(centralWidget)
        self.model = QtGui.QFileSystemModel()
        self.model.setRootPath('')
        centralWidget.setModel(self.model)
 
if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    window = MainWindow()
    window.show()
    sys.exit(app.exec_())
 
KriO
Это-то все понятно, но в QFileDialog реализована куча всяких наворотов типа фильтры, история, детализация и т.д., а тут придется все самой делать. Кстати, если по списку файлов клавишами двигаться, то предварительный просмотр работает и диалог не закрывается.
Rodegast
> в QFileDialog реализована куча всяких наворотов типа фильтры, история, детализация и т.д.,

Даже не думай об этом!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB