KriO
Авг. 9, 2017 11:12:56
Здравствуйте. Что-то мне не удалось найти такую опцию.
Еще один вопрос: как сделать, чтобы диалог не закрывался после выбора файла?
Я использую свой класс на базе QDialog, в котором в QSplitter вставлены два виджета: один реализован в классе на базе QFileDialog с опцией DontUseNativeDialog, а в другой вставлен QWidget для предварительного просмотра выбранного файла (графический файл собственного формата). При выборе файла диалог автоматически закрывается, т.е. нет возможности сделать предварительный просмотр. По кнопке “открыть” (стандартная кнопка в QFileDialog) срабатывает метод accept, и диалог закрывается.
Спасибо.
Rodegast
Авг. 9, 2017 11:43:37
> Я использую свой класс на базе QDialog, в котором в QSplitter вставлены два виджета: один реализован в классе на базе QFileDialog
По теме:
https://pythonspot.com/en/pyqt5-directory-view/
KriO
Авг. 9, 2017 13:26:08
Спасибо. Значит придется все же заморочиться с QTreeView и QFileSystemModel. А я так надеялась, что можно QFileDialog-ом обойтись, т.к. там уже всё есть готовое.
KriO
Авг. 9, 2017 14:48:55
А вот интересно: в OC Windows диалог по сигналу fileSelected не закрывается, а в линуксе CentOS-7 закрывается. Может это происки KDE?
Rodegast
Авг. 9, 2017 14:51:39
Да чего там заморачиваться?
#!/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
Авг. 9, 2017 14:59:24
Это-то все понятно, но в QFileDialog реализована куча всяких наворотов типа фильтры, история, детализация и т.д., а тут придется все самой делать. Кстати, если по списку файлов клавишами двигаться, то предварительный просмотр работает и диалог не закрывается.
Rodegast
Авг. 9, 2017 19:31:05
> в QFileDialog реализована куча всяких наворотов типа фильтры, история, детализация и т.д.,
Даже не думай об этом!