0
点赞
收藏
分享

微信扫一扫

QClipboard类文档_F_hawk189_新浪博客


QClipboard类提供了对窗口系统剪贴板的访问。

#include "​​qclipboard.h​​"

继承了​​QObject​​。

​​ 所有成员函数的列表。​​

公有成员

  • void ​​clear​​ ()
  • bool ​​ supportsSelection​​
  • bool ​​ownsSelection​​ () const
  • bool ​​ownsClipboard​​ () const
  • void ​​ setSelectionMode​​ ( bool enable )
  • bool ​​selectionModeEnabled​​ () const
  • QMimeSource * ​​data​​ () const
  • void ​​setData​​ ( QMimeSource * src )
  • QString ​​text​​ () const
  • QString ​​text​​ ( QCString & subtype ) const
  • void ​​setText​​ ( const QString & text )
  • QImage ​​image​​ () const
  • QPixmap ​​pixmap​​ () const
  • void ​​setImage​​ ( const QImage & image )
  • void ​​setPixmap​​ ( const QPixmap & pixmap )

信号

  • void ​​ selectionChanged​​ ()
  • void ​​dataChanged​​ ()


详细描述


QClipboard类提供了对窗口系统剪贴板的访问。

剪贴板提供了一种在应用程序之间复制和粘贴数据的简单机制。

QClipboard支持和​​QDragObject​​​一样的数据类型,并且使用类似的机制。有关剪贴板高级的用法请阅读​​拖放文档​​。

在应用程序中只有一个QClipboard,并且你可以使用​​QApplication::clipboard​​()来访问它。

实例:




QClipboard提供了一些有特色的很方便的函数来访问普通数据类型:​​setText​​​()允许在应用程序之间Unicode文本的交换,​​setPixmap​​​()和​​setImage​​​()允许在应用程序之间交换QPixmap和QImage。​​setData​​​()函数在功能上是最灵活的:它允许你把任何​​QMimeSource​​​添加到剪贴板。每种方式都有相应的获得函数,例如​​text​​​()、​​image​​​()和​​pixmap​​()。

你可以通过调用​​clear​​()清空剪贴板。

X窗口系统和微软的Windows底层的剪贴板是不同的。X窗口系统有一个选择的概念——当文本被选择,它立即被复制到选择缓冲;微软的Windows仅仅在文本被显示地复制或者剪切的时候才被复制到剪贴板。X窗口系统还有一个所有权的概念,如果你在一个窗口中改变了选择,X11仅仅通知变化的拥有者和前任拥有者,在微软的Windows是剪贴板是一个完完全全的全局资源,所以所有应用程序被通知了变化。请参考Qt设计器实例中的multiclip实例,这是一个也描述了选择处理的多平台剪贴板应用程序。

也可以参考​​环境类​​​和​​输入/输出和网络​​。

成员函数文档

void QClipboard::clear ()


清空剪贴板内容。

​​QMimeSource​​ * QClipboard::data () const


返回代表当前剪贴板数据的​​QMimeSource​​的引用。


void QClipboard::dataChanged () [信号]

当剪贴板内容发生变化时,这个信号被发射。

​​QImage​​ QClipboard::image () const


返回剪贴板图片,或者如果剪贴板没有包含任何图片或者它包含一个不被支持的格式的图片,返回一个无效的图片。

也可以参考​​setImage​​​()、​​pixmap​​​()、​​data​​​()和​​QImage::isNull​​()。

bool QClipboard::ownsClipboard () const


如果剪贴板对象拥有剪贴板数据,返回真,否则返回假。

bool QClipboard::ownsSelection () const


如果剪贴板对象拥有鼠标选择数据,返回真,否则返回假。

​​QPixmap​​ QClipboard::pixmap () const


返回剪贴板像素映射,或者如果剪贴板不包含像素映射,返回无效的像素映射。注意这样会导致丢失信息。例如,如果图片是24位并且显示是8位,结果会被转换为8位,并且如果这个图象有一个alpha通道,结果会只有一个面具。

也可以参考​​setPixmap​​​()、​​image​​​()、​​data​​​()和​​QPixmap::convertFromImage​​()。

void QClipboard::selectionChanged () [信号]

当选择发生变化时,这个信号被发射。这仅仅适用于支持选择的窗口系统,例如X11。Windows不支持选择。

bool QClipboard::selectionModeEnabled () const


返回选择模式。

也可以参考​​setSelectionMode​​​()和​​supportsSelection​​()。

void QClipboard::setData ( ​​QMimeSource​​ * src )


设置剪贴板数据位src。数据的所有权被传递给剪贴板。如果你想移除这个数据,请调用​​clear​​​()或者使用新数据再次调用​​setData​​()。


​​QDragObject​​​子类是可以放到剪贴板中的合理对象(但是不要试图在同一个对象上调用​​QDragObject::drag​​​())。任何被放置到剪贴板中的QDragObject的父对象都必须为0。不要把​​QDragMoveEvent​​​或​​QDropEvent​​的子类放到剪贴板中,因为它们不属于接收到它们的事件处理器。

​​setText​​​()和​​setPixmap​​()函数只是分别地对文本和图象数据的简单封装。

void QClipboard::setImage ( const ​​QImage​​ & image )


image复制到剪贴板。


这是一个快速的方式:




也可以参考​​image​​​()、​​setPixmap​​​()和​​setData​​()。

void QClipboard::setPixmap ( const ​​QPixmap​​ & pixmap )


pixmap复制到剪贴板。注意这个比​​setImage​​​()慢,因为它需要首先把​​QPixmap​​​转换为​​QImage​​。


也可以参考​​pixmap​​​()、​​setImage​​​()和​​setData​​()。

void QClipboard::setSelectionMode ( bool enable )


设置剪贴板选择模式。如果enable为真,那么后来对​​QClipboard::setData​​()的调用以及其它把数据放到简帖板的函数都将会把数据放到鼠标选择中,否则数据将会被放到剪贴板中。


也可以参考​​supportsSelection​​​()和​​selectionModeEnabled​​()。

void QClipboard::setText ( const ​​QString​​ & text )


text作为简单文本复制到剪贴板中。


也可以参考​​text​​​()和​​setData​​()。

bool QClipboard::supportsSelection () const


如果剪贴板支持鼠标选择,返回真,否则返回假。

​​QString​​​ QClipboard::text ( ​​QCString​​ & subtype ) const


返回子类型为subtype的剪贴板文本,或者如果剪贴板不包含任何文本,返回一个无效字符串。如果subtype为空,任何子类型都是可以接受的,并且subtype被设置为被选择的子类型。


subtype的值应为“plain”和“html”。

也可以参考​​setText​​​()、​​data​​​()和​​QString::operator!​​()。

​​QString​​ QClipboard::text () const


这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。

返回纯文本格式的剪贴板文本,或者如果剪贴板不包含任何文本,返回一个无效字符串。


也可以参考​​setText​​​()、​​data​​​()和​​QString::operator!​​()。

举报

相关推荐

0 条评论