我已经构建了一个(Linux)GUI 应用程序,它可以从终端启动并接受未定义数量的文件作为参数。该应用程序读取 sys.argv 并在 QListWidget 中列出这些文件的名称。
代码类似于:
import sys
from PyQt4.QtGui import QApplication, QMainWindow, QCoreApplication
class MainWindow(QMainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
# parse command line arguments
for i in QCoreApplication.argv()[1:]:
...
def main():
app = QApplication(sys.argv)
...
我想要做的是能够从文件管理器中选择多个文件,并通过文件管理器提供的“打开方式...”选项使用我的应用程序打开它们。如何做到这一点?
使用当前代码,当我尝试它时,QListWidget 上只会显示一个选定的文件。
编辑:
最后似乎它取决于文件管理器。我尝试了一些文件管理器,然后...
pcmanfm:它只打开一个选定的文件。
spacefm:工作正常!
dolphin:它将每个文件打开到我程序的不同实例。如果我选择 3 个文件,它将打开我的应用程序 3 次,每个文件一个。
nautilus:我没能用它打开任何文件。我的程序未在建议的应用程序中列出,我也没有找到任何方法。