所以我正在使用python将svg复制到剪贴板,以便以后可以将其粘贴为word的svg图形。我可以在Windows上使用PyQt Qclipboard做到这一点,就像这样:
import io
import numpy as np
from PySide.QtGui import QApplication,QImage
from matplotlib import pyplot as plt
import matplotlib as mpl
mpl.use('Qt5Agg') # or Qt4Agg
# do a matplotlib plot
fig = plt.figure()
plt.plot(np.arange(10),np.arange(10))
# this saves the plot as svg to clipboard
buf = io.BytesIO()
fig.savefig(buf,format='svg')
data = QtCore.QMimeData()
data.setData('image/svg+xml',buf.getvalue())
QApplication.clipboard().setMimeData(data)
运行后,我可以转到任何应用程序并粘贴svg图。
问题是这在mac osx上不起作用。它可以正常运行,我可以检查data
是否包含类型为image/svg+xml
的svg内容。但随后在macOS剪贴板中,内容类型变为“未知”。也无法粘贴到单词上。
知道为什么吗?