Home · All Classes · Modules  · QSS HELP  · QSS 案例 · VER007 HOME

QClipboard Class Reference
[QtGui module]

该QClipboard类提供窗口系统剪贴板。More...

继承QObject

Types

Methods

Qt Signals


Detailed Description

该QClipboard类提供窗口系统剪贴板。

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

QClipboard支持相同的数据类型QDrag确实,并采用类似的机制。对于高级剪贴板的使用读Drag and Drop

有一个在应用程序中的单个QClipboard对象​​,作为访问QApplication.clipboard( ) 。

例如:

 QClipboard *clipboard = QApplication.clipboard();
 QString originalText = clipboard->text();
 ...
 clipboard->setText(newText);

QClipboard具有一些方便的功能来访问常用数据类型:setText( )允许Unicode文本的交换和setPixmap()和setImage( )允许应用程序之间QPixmaps和QImages的交流。该setMimeData( )函数是极大的灵活性:它可以让你添加任何QMimeData复制到剪贴板中。有相应的getter为每个这些,例如text( )image()和pixmap( ) 。你可以通过调用清除剪贴板clear( ) 。

使用这些功能的一个典型例子如下:

 void DropArea.paste()
 {
     const QClipboard *clipboard = QApplication.clipboard();
     const QMimeData *mimeData = clipboard->mimeData();

     if (mimeData->hasImage()) {
         setPixmap(qvariant_cast<QPixmap>(mimeData->imageData()));
     } else if (mimeData->hasHtml()) {
         setText(mimeData->html());
         setTextFormat(Qt.RichText);
     } else if (mimeData->hasText()) {
         setText(mimeData->text());
         setTextFormat(Qt.PlainText);
     } else {
         setText(tr("Cannot display data"));
     }

Notes for X11 Users

Notes for Mac OS X Users

Mac OS X支持保存在查找操作的当前搜索字符串单独发现的缓冲区。这一发现剪贴板可以通过指定访问的FindBuffer模式。

Notes for Windows and Mac OS X Users


Type Documentation

QClipboard.Mode

该枚举类型是用来控制系统剪贴板中的一部分是由QClipboard.mimeData( )QClipboard.setMimeData( )和相关函数。

Constant Value Description
QClipboard.Clipboard 0 表示数据应该存储和从全局剪贴板中检索。
QClipboard.Selection 1 表示数据应该存储和从全局鼠标选择检索。支持Selection是只设置一个全局鼠标选择(例如X11 )系统。
QClipboard.FindBuffer 2 表示数据应该存储和查找缓冲区中检索。此模式用于保持搜索字符串在Mac OS X。

See also QClipboard.supportsSelection( ) 。


Method Documentation

QClipboard.clear (self, Mode mode = QClipboard.Clipboard)

清除剪贴板内容。

mode参数用来控制哪些系统剪贴板的一部分使用。如果mode is QClipboard.Clipboard,此功能清除全局剪贴板中的内容。如果mode is QClipboard.Selection这个函数清除全局鼠标选择内容。如果mode is QClipboard.FindBuffer这个函数清除搜索字符串缓冲区。

See also QClipboard.ModesupportsSelection( ) 。

QClipboard.connectNotify (self, SIGNAL())

bool QClipboard.event (self, QEvent)

从重新实现QObject.event( ) 。

QImage QClipboard.image (self, Mode mode = QClipboard.Clipboard)

返回剪贴板中的图像,或者返回一个空图像,如果剪贴板中不包含的图像,或者如果它包含一个图像中不支持的图像格式。

mode参数用来控制哪些系统剪贴板的一部分使用。如果mode is QClipboard.Clipboard时,图像从全局剪贴板检索。如果mode is QClipboard.Selection时,图像从全局鼠标选择检索。

See also setImage( )pixmap( )mimeData()和QImage.isNull( ) 。

QMimeData QClipboard.mimeData (self, Mode mode = QClipboard.Clipboard)

返回一个引用QMimeData当前剪贴板中的数据的代表性。

mode参数用来控制哪些系统剪贴板的一部分使用。如果mode is QClipboard.Clipboard时,数据被从全局剪贴板检索。如果mode is QClipboard.Selection时,数据被从全局鼠标选择检索。如果mode is QClipboard.FindBuffer时,数据被从该搜索字符串缓冲区中检索。

text( )image()和pixmap( )函数用于检索的文本,图像和像素映射数据简单包装。

See also setMimeData( ) 。

bool QClipboard.ownsClipboard (self)

返回True如果剪贴板对象拥有的剪贴板数据,否则返回False 。

bool QClipboard.ownsFindBuffer (self)

返回True如果剪贴板对象拥有的查找缓冲区中的数据,否则返回False 。

这个函数中引入了Qt 4.2中。

bool QClipboard.ownsSelection (self)

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

QPixmap QClipboard.pixmap (self, Mode mode = QClipboard.Clipboard)

返回剪贴板像素映射,或者null,如果剪贴板中不包含像素图。请注意,这可能会丢失信息。例如,如果图像是24位和显示器是8位,则结果被转换为8位,并且如果图像具有alpha通道,结果正好有一个掩膜。

mode参数用来控制哪些系统剪贴板的一部分使用。如果mode is QClipboard.Clipboard,像素图是从全局剪贴板中检索。如果mode is QClipboard.Selection,像素图是从全局鼠标选择检索。

See also setPixmap( )image( )mimeData()和QPixmap.convertFromImage( ) 。

QClipboard.setImage (self, QImage, Mode mode = QClipboard.Clipboard)

副本image复制到剪贴板中。

mode参数用来控制哪些系统剪贴板的一部分使用。如果mode is QClipboard.Clipboard中,图像被存储在全局剪贴板。如果mode is QClipboard.Selection时,数据被存储在全局鼠标选择。

这是简写:

 QMimeData *data = new QMimeData;
 data->setImageData(image);
 clipboard->setMimeData(data, mode);

See also image( )setPixmap()和setMimeData( ) 。

QClipboard.setMimeData (self, QMimeData data, Mode mode = QClipboard.Clipboard)

剪贴板数据集src。该数据的所有权转移到剪贴板。如果你想删除数据或者调用clear( )或致电setMimeData ( )再次与新的数据。

mode参数用来控制哪些系统剪贴板的一部分使用。如果mode is QClipboard.Clipboard时,数据被存储在全局剪贴板。如果mode is QClipboard.Selection时,数据被存储在全局鼠标选择。如果mode is QClipboard.FindBuffer时,数据被存储在搜索字符串缓冲区。

setText( )setImage()和setPixmap( )函数分别用于设置文本,图像和像素映射数据简单的包装。

See also mimeData( ) 。

QClipboard.setPixmap (self, QPixmap, Mode mode = QClipboard.Clipboard)

Copies pixmap复制到剪贴板中。注意,这是慢setImage() ,因为它需要转换的QPixmapQImage第一。

mode参数用来控制哪些系统剪贴板的一部分使用。如果mode is QClipboard.Clipboard,像素图被存储在全局剪贴板。如果mode is QClipboard.Selection,像素图被存储在全局鼠标选择。

See also pixmap( )setImage()和setMimeData( ) 。

QClipboard.setText (self, QString, Mode mode = QClipboard.Clipboard)

Copies text到剪贴板为纯文本。

mode参数用来控制哪些系统剪贴板的一部分使用。如果mode is QClipboard.Clipboard,文本被存储在全局剪贴板。如果mode is QClipboard.Selection,文本存储在全局鼠标选择。如果mode is QClipboard.FindBuffer,文本存储在搜索字符串缓冲区。

See also text()和setMimeData( ) 。

bool QClipboard.supportsFindBuffer (self)

返回True如果剪贴板支持一个单独的搜索缓存,否则返回False 。

bool QClipboard.supportsSelection (self)

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

QString QClipboard.text (self, Mode mode = QClipboard.Clipboard)

返回剪贴板中的文本为纯文本,或者一个空字符串,如果剪贴板中不包含任何文本。

mode参数用来控制哪些系统剪贴板的一部分使用。如果mode is QClipboard.Clipboard,文本从全局剪贴板中检索。如果mode is QClipboard.Selection,该文本从全局鼠标选择检索。如果mode is QClipboard.FindBuffer,该文本从搜索字符串缓冲区中检索。

See also setText()和mimeData( ) 。

(QString, QString) QClipboard.text (self, QString subtype, Mode mode = QClipboard.Clipboard)

这是一个重载函数。

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

mode参数用来控制哪些系统剪贴板的一部分使用。如果mode is QClipboard.Clipboard,文本从全局剪贴板中检索。如果mode is QClipboard.Selection,该文本从全局鼠标选择检索。

为共同的价值观subtype是“普通”和“HTML” 。

请注意,多次调用该函数,例如从一个关键的事件处理程序,可能会很慢。在这种情况下,你应该使用dataChanged()信号代替。

See also setText()和mimeData( ) 。

QString QClipboard.text (self, QString subtype, Mode mode = QClipboard.Clipboard)


Qt Signal Documentation

void changed (QClipboard::Mode)

这是该信号的默认超载。

这个信号被发射时,对于给定的剪贴板中的数据mode被改变。

这个函数中引入了Qt 4.2中。

See also dataChanged( )selectionChanged()和findBufferChanged( ) 。

void dataChanged ()

这是该信号的默认超载。

当剪贴板中的数据改变这个信号被发射。

在Mac OS X和与Qt版本4.3或更高版本,由其他应用程序所做的剪贴板的变化将只检测时,应用程序被激活。

See also findBufferChanged( )selectionChanged()和changed( ) 。

void findBufferChanged ()

这是该信号的默认超载。

当发现缓冲区改变这个信号被发射。这仅适用于Mac OS X。

与Qt版本4.3或更高版本,由其他应用程序所做的剪贴板的变化将只检测时,应用程序被激活。

这个函数中引入了Qt 4.2中。

See also dataChanged( )selectionChanged()和changed( ) 。

void selectionChanged ()

这是该信号的默认超载。

当选择改变这个信号被发射。这仅适用于支持选项窗口系统,例如X11 。 Windows和Mac OS X不支持选择。

See also dataChanged( )findBufferChanged()和changed( ) 。




PyQt 4.10.3 for X11 Copyright © Riverbank Computing Ltd and Nokia 2012 Qt 4.8.5