Обработка открытия файла (типа mime) с помощью Python [closed]

Я создал файл mymime.xml

<?xml version='1.0' encoding='utf-8'?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
    <mime-type type="text/myapp">
        <comment>my format</comment>
        <glob pattern="*.myformat"/>
    </mime-type>
</mime-info>

и файл myapp.desktop

[Desktop Entry]
Name=MyApp
GenericName=My Generic Name 
Comment=a comment
Exec=myapp
Icon=myicon
Terminal=false
Type=Application
Categories=Development;
MimeType=text/myapp;
Name[en_US]=MyApp

. Теперь, когда я щелкаю правой кнопкой мыши файл с окончанием myformat, он предлагает открыть с помощью MyApp, который является поведение я искал! Но в коде python3 (я использую PyQt5), как мне использовать аргумент загрузки, когда файл загружен таким образом? (щелкните правой кнопкой мыши или дважды щелкните файл .myformat)

1
задан 15 June 2016 в 12:18

1 ответ

Хорошо, я решил это со следующим кодом:

class MainWindow(QMainWindow):
    def __init__(self, filelist, **kwargs):

        openFileAtStart(filelist)

    def openFileAtStart(self, filelist):
        matching = [s for s in filelist if ".myformat" in s]
        if len(matching) > 0:
            self.openFileByName(matching)

if __name__ == "__main__":
    from sys import argv, exit
    from PyQt5.QtWidgets import QApplication
    a = QApplication(argv)
    MainWindow(argv)

В основном, при открытии, QApplication должен считать argv аргументы и удаляет что-либо связанное с QT, Чем я передаю остающиеся аргументы своему приложению ("MainWindow"), который обработает проверку списка объекты, которые соответствуют моему формату и бросят этот список в мою функцию, которая обрабатывает вводные файлы.

1
ответ дан 7 December 2019 в 15:54

Другие вопросы по тегам:

Похожие вопросы: