桌面端的开发中如何通过windows的快捷方式打开文件,那么如何将需要打开的数据传递给qt程序呢?
研究了一下发现很简单
通过sys.argv
可以轻松的实现传参
sys.argv
import sys
print(sys.argv)
这个方法可以获取系统传递给程序的参数,默认是个列表,列表中的参数是['执行文件路径',‘参数’]
,而我们需要的是获取参数
例子
这里有个例子可以参考
import sys
from PyQt5.QtWidgets import QWidget, QLabel, QApplication, QHBoxLayout
class 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_()
打包后可以接受系统参数。