主页 | 所有的类 | 主要的类 | 注释的类 | 分组的类 | 函数 |
QClipboard类提供了对窗口系统剪贴板的访问。 详情请见……
#include <qclipboard.h>
继承了QObject。
剪贴板提供了一种在应用程序之间复制和粘贴数据的简单机制。
QClipboard支持和QDragObject一样的数据类型,并且使用类似的机制。有关剪贴板高级的用法请阅读拖放文档。
在应用程序中只有一个QClipboard,并且你可以使用QApplication::clipboard()来访问它。
实例:
QClipboard *cb = QApplication::clipboard(); QString text; // 从剪贴板中复制文本(粘贴) text = cb->text(); if ( text ) qDebug( "The clipboard contains: %s", text ); // 把文本复制到剪贴板 cb->setText( "This text can be pasted by other programs" );
QClipboard提供了一些有特色的很方便的函数来访问普通数据类型:setText()允许在应用程序之间Unicode文本的交换,setPixmap()和setImage()允许在应用程序之间交换QPixmap和QImage。setData()函数在功能上是最灵活的:它允许你把任何QMimeSource添加到剪贴板。每种方式都有相应的获得函数,例如text()、image()和pixmap()。
你可以通过调用clear()清空剪贴板。
X窗口系统和微软的Windows底层的剪贴板是不同的。X窗口系统有一个选择的概念——当文本被选择,它立即被复制到选择缓冲;微软的Windows仅仅在文本被显示地复制或者剪切的时候才被复制到剪贴板。X窗口系统还有一个所有权的概念,如果你在一个窗口中改变了选择,X11仅仅通知变化的拥有者和前任拥有者,在微软的Windows是剪贴板是一个完完全全的全局资源,所以所有应用程序被通知了变化。请参考Qt设计器实例中的multiclip实例,这是一个也描述了选择处理的多平台剪贴板应用程序。
当剪贴板内容发生变化时,这个信号被发射。
也可以参考setImage()、pixmap()、data()和QImage::isNull()。
也可以参考setPixmap()、image()、data()和QPixmap::convertFromImage()。
当选择发生变化时,这个信号被发射。这仅仅适用于支持选择的窗口系统,例如X11。Windows不支持选择。
也可以参考setSelectionMode()和supportsSelection()。
QDragObject子类是可以放到剪贴板中的合理对象(但是不要试图在同一个对象上调用QDragObject::drag())。任何被放置到剪贴板中的QDragObject的父对象都必须为0。不要把QDragMoveEvent或QDropEvent的子类放到剪贴板中,因为它们不属于接收到它们的事件处理器。
setText()和setPixmap()函数只是分别地对文本和图象数据的简单封装。
这是一个快速的方式:
setData(new QImageDrag(image))
也可以参考image()、setPixmap()和setData()。
也可以参考pixmap()、setImage()和setData()。
也可以参考supportsSelection()和selectionModeEnabled()。
subtype的值应为“plain”和“html”。
也可以参考setText()、data()和QString::operator!()。
返回纯文本格式的剪贴板文本,或者如果剪贴板不包含任何文本,返回一个无效字符串。
也可以参考setText()、data()和QString::operator!()。
这个文件是Qt工具包一部分。 版权所有 © 1995-2002 Trolltech。保留所有权利。
Copyright © 2002 Trolltech | Trademarks | 译者:Cavendish | Qt 3.0.5版
|