2 回答
TA贡献1851条经验 获得超5个赞
Qt 跨平台解决方案是使用QDesktopServices::openUrl()
:
import os
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
app = QtWidgets.QApplication(sys.argv)
path = "C:/Users"
fullpath = os.path.realpath(path)
if not QtGui.QDesktopServices.openUrl(QtCore.QUrl.fromLocalFile(fullpath)):
print("failed")
TA贡献1862条经验 获得超7个赞
我设法使用 QProcess 在特定路径上打开资源管理器,而无需附加模块(例如网络浏览器)。我只需要平台模块来确定程序正在运行哪个平台,就像这样
self.path = os.path.abspath(os.path.dirname(sys.argv[0]))
self.pathOutput = os.path.join(self.path, "output")
def open_explorer(self):
self._process = QtCore.QProcess(self)
if platform.system() == "Windows":
self._process.start("explorer",[os.path.realpath(self.pathOutput)])
elif platform.system() == "Darwin":
self._process.start("open",[os.path.realpath(self.pathOutput)])
添加回答
举报