Открыть файл из QFileDialog в собственном проводнике, щелкнув правой кнопкой мыши в PyQt5?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Открыть файл из QFileDialog в собственном проводнике, щелкнув правой кнопкой мыши в PyQt5?

Сообщение Anonymous »

Если в Firefox я загружаю файл, появляется значок папки «Показать в папке»:
[img]https:/ /i.sstatic.net/x6qr3viI.png[/img]

... при нажатии которого открывается собственный файловый менеджер ОС в каталоге «Загрузки» с выбранным целевым файлом загрузки:< /p>
Изображение

Мне бы хотелось такую ​​же функциональность - за исключением того, что я хочу, чтобы это было в приложении PyQt5, когда открывается QFileDialog, после выбора действия в контекстном меню, вызываемом правой кнопкой мыши, которое активируется при выборе целевого файла; например с помощью примера PyQt5 (ниже) я могу получить это диалоговое окно Qt5:
Изображение

... поэтому, когда я щелкаю правой кнопкой мыши целевой файл (например, test.txt на изображении), я хочу В контекстное меню добавлено действие «Папка», и когда оно выбрано, я бы хотел, чтобы собственный проводник файлов открывался в каталоге, содержащем целевой файл, и выбирался целевой файл — как это делает Firefox.
Как это сделать в PyQt5?
Пример кода:
# started from https://pythonspot.com/pyqt5-file-dialog/
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QInputDialog, QLineEdit, QFileDialog
from PyQt5.QtGui import QIcon

class App(QWidget):

def __init__(self):
super().__init__()
self.title = 'PyQt5 file dialogs - pythonspot.com'
self.left = 10
self.top = 10
self.width = 640
self.height = 480
self.initUI()

def initUI(self):
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)

self.openFileNameDialog()

self.show()

def openFileNameDialog(self):
options = QFileDialog.Options()
options |= QFileDialog.DontUseNativeDialog
fileName, _ = QFileDialog.getOpenFileName(self,"QFileDialog.getOpenFileName()", "","Text Files (*.txt)", options=options)
if fileName:
print(fileName)

if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
sys.exit(app.exec_())


Подробнее здесь: https://stackoverflow.com/questions/791 ... k-in-pyqt5
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»