应用之前交换数据除了可以使用拖放技术外,还可使用剪贴板。一个应用把数据放到剪贴板,另一个应用从剪贴板中提出数据。获取对全局剪贴板对象的引用,可使用QAppiication类的静态方法:
clipboard = QtWidgets.QAppiication.clipboard( )
QClipboard类有以下方法:
setText(Qstring text) - 将文本放置到剪贴板;
text( ) - 返回剪贴板中的文本或空字符串;
text (type) - 返回一个包括两个成员的元组。第一个成员为剪贴板中的文本;第二个为文本的类型。参数可以为 "plain", "html" (HTML), 空字符串(任意类型);
set image (QImage img) - 将QImage类图像放置到剪贴板;
clipboard.setImage (QtGui.QImage ("image.jpg"))
image () - 返回一个QImage对象;
setPixmap(QPixmap img) - 将QPixmap类图像放置到剪贴板;
clipboard.setPixmap (QtGui.QPixmap ("image, jpg"))
pixmap( ) - 返回一个QImage对象;
setMimeData (QMimeData data) - 将MimeData类型数据放置到剪贴板。QMimeData 类可以存放任意类型的数据。
mimeData ( ) - 返回一个QMimeData对象;
clear () - 清空剪贴板数据。
剪贴板中的数据变化会产生dataChanged信号。处理剪贴板数据变化信号的方式为:
QtWidgets.qApp.clipboard().dataChanged.connect(on_change_clipboard)
网友评论