QClipboard

一、描述

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

应用程序中有一个 QClipboard 对象,可通过 QGuiApplication::clipboard() 访问。

QClipboard *clipboard = QGuiApplication::clipboard();
QString originalText = clipboard->text();

clipboard->setText(newText);

二、类型成员

1、enum QClipboard::Mode:此枚举类型用于控制 mimeData()、setMimeData() 和相关函数使用系统剪贴板的哪一部分。

  • Clipboard:应该从全局剪贴板存储和检索数据。
  • Selection:应该从全局鼠标选择中存储和检索数据。仅在具有全局鼠标选择的系统(例如 X11)上提供对选择的支持。
  • FindBuffer:应该从 Find 缓冲区存储和检索数据。此模式用于在 macOS 上保存搜索字符串。

三、成员函数

 1、【信号】void changed(QClipboard::Mode mode)

当剪贴板模式发生更改时,将发出此信号。

2、【信号】void dataChanged()

此信号在剪贴板数据更改时发出。

3、【信号】void findBufferChanged()

更改查找缓冲区时会发出此信号。这仅适用于 macOS。

4、【信号】void selectionChanged()

选择改变时发出此信号。这仅适用于支持选择的窗口系统,例如 X11。Windows 和 macOS 不支持选择。

5、void clear(QClipboard::Mode mode = Clipboard)

清除剪贴板内容。mode 参数用于控制使用系统剪贴板的哪一部分。

6、QImage image(QClipboard::Mode mode = Clipboard)

返回剪贴板图像,如果剪贴板不包含图像或包含不受支持的图像格式的图像,则返回空图像。mode 参数用于控制使用系统剪贴板的哪一部分。

      void setImage(const QImage &image, QClipboard::Mode mode = Clipboard)

将图像复制到剪贴板。

7、bool ownsClipboard()

此剪贴板对象是否拥有剪贴板数据。

8、bool ownsFindBuffer()

此剪贴板对象是否拥有查找缓冲区数据。

      bool supportsFindBuffer()

剪贴板是否支持单独的搜索缓冲区。

9、bool ownsSelection()

此剪贴板对象是否拥有鼠标选择数据。

      bool supportsSelection()

剪贴板是否支持鼠标选择。

10、QPixmap pixmap(QClipboard::Mode mode = Clipboard)

返回剪贴板像素图,如果剪贴板不包含像素图,则返回 null。

      void setPixmap(const QPixmap &pixmap, QClipboard::Mode mode = Clipboard)

将像素图复制到剪贴板。这比 setImage() 慢,因为它需要先将 QPixmap 转换为 QImage。

11、void setMimeData(QMimeData *src, QClipboard::Mode mode = Clipboard)

设置剪贴板数据。数据的所有权被转移到剪贴板。如果要删除数据,调用 clear() 或使用新数据再次调用 setMimeData()。

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

12、void setText(const QString &text, QClipboard::Mode mode = Clipboard) / 

       QString text(QClipboard::Mode mode = Clipboard)

将文本作为纯文本复制到剪贴板。

13、QString text(QString &subtype, QClipboard::Mode mode = Clipboard)

返回子类型 subtype 中的剪贴板文本。如果 subtype 为空字符串,则任何子类型都是可接受的,并且 subtype 设置为所选的子类型。

subtype 的常用值是“plain”和“html”。


int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWidget w;
    w.show();
    QClipboard *clipboard = QGuiApplication::clipboard();
    QString sub = "html";
    qDebug()<<clipboard->text(sub);
    return a.exec();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值