桌面端的开发中如何通过windows的快捷方式打开文件,那么如何将需要打开的数据传递给qt程序呢?
研究了一下发现很简单
通过sys.argv
可以轻松的实现传参
sys.argv
import sys
print(sys.argv)
这个方法可以获取系统传递给程序的参数,默认是个列表,列表中的参数是['执行文件路径',‘参数’]
,而我们需要的是获取参数
例子
这里有个例子可以参考
import sysfrom PyQt5.QtWidgets import QWidget, QLabel, QApplication, QHBoxLayoutclass Window(QWidget):def __init__(self, parent=None):super().__init__(parent)self.resize(500, 500)self.hBox = QHBoxLayout(self)self.label = QLabel(self)self.label.setStyleSheet('''font: 12pt 'Segoe UI';''')self.hBox.addWidget(self.label)def setText(self, text: str):self.label.setText(text)if __name__ == '__main__':app = QApplication(sys.argv)win = Window()try:win.setText(sys.argv[1])except Exception:win.setText(sys.argv[0])win.show()app.exec_()
打包后可以接受系统参数。