Qt剪切板实现“复制”“粘贴”功能

在剪贴板中的内容,可以是:纯文本、HTML、图片、URL、以及Html

QClipboard Class

The QClipboard class provides access to the window system clipboard. More...

Header:

#include <QClipboard>

qmake:

QT += gui

Inherits:

QObject

Public Types

enum

Mode { Clipboard, Selection, FindBuffer }

Public Functions

void

clear(QClipboard::Mode mode = Clipboard)

QImage

image(QClipboard::Mode mode = Clipboard) const

const QMimeData *

mimeData(QClipboard::Mode mode = Clipboard) const

bool

ownsClipboard() const

bool

ownsFindBuffer() const

bool

ownsSelection() const

QPixmap

pixmap(QClipboard::Mode mode = Clipboard) const

void

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

void

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

void

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

void

setText(const QString &text, QClipboard::Mode mode = Clipboard)

bool

supportsFindBuffer() const

bool

supportsSelection() const

QString

text(QClipboard::Mode mode = Clipboard) const

QString

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

Signals

void

changed(QClipboard::Mode mode)

void

dataChanged()

void

findBufferChanged()

void

selectionChanged()

==========

QApplication::clipboard()->clear(); // 清空剪切板

QClipboard系统剪切板访

QClipboard
QClipboard类提供了对系统剪切板的访问,可以在应用程序之间复制和粘贴数据,它的操作类似于QDrag类,,并使用类似的数据结构,QApplication类有一个静态方法clipboard(),它的返回值对剪切板对象的引用,任何类型的MimeData都可以从剪切板复制或粘贴。
QClipboard类中的常用方法

    clear() 清空剪切板的内容
    setImage() 将QImage对象复制到剪切板中
    setMimeData() 将MIME数据设置为剪切板
    setPixmap() 从剪切板中复制Pixmap对象
    setText() 从剪切板中复制文本
    text() 从剪切板中检索文本

如何判断剪切板为空

    Option Explicit
     
    '判断剪贴板是否为空
    Function CheckClipboard() As Boolean
         If Clipboard.GetText = "" Then
             CheckClipboard = False
         Else
             CheckClipboard = True
         End If
    End Function
     
    Private Sub Command1_Click()
    MsgBox CheckClipboard
    End Sub
     
    Private Sub Command2_Click()
    Clipboard.Clear
    End Sub

https://bbs.csdn.net/topics/390749143?list=lz

====================

剪贴板,可能比较陌生,但是日常操作中的Ctrl+C和Ctrl+V,一定很熟悉,这就是使用了剪贴板。然后,从一个文本文件中复制一段内容到另一文本文件,这也使用到了剪贴板。

剪贴板操作,实际上是进程间的通信。

注意:剪贴板由操作系统维护的

( 注:复制和粘贴,往往需要在不同来源,不同类型的软件之间进行的,这需要操作系统的支持。而对于某个具体的软件而言,直接使用操作系统自带的就可以了,这样最方便。。当然,也可以使用自定义的剪贴板,但这似乎意义不大?除非有特别的需求?

#include <QClipboard>   / /  Qt5记得包含

//------------------------

QClipboard *clipboard = QApplication::clipboard();   //获取系统剪贴板指针
QString originalText = clipboard->text();         //获取剪贴板上文本信息
clipboard->setText(newText);                     //设置剪贴板内容


————————————————
版权声明:本文为CSDN博主「子建莫敌」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u013015629/article/details/52870448

Qt剪切板QClipboard 复制粘贴自定义数据

QClipboard 提供了几组函数用来访问常见的数据类型,如果我们想操作的数据类型是QString、QImage或QPixmap,可以直接使用这些接口。

    QImage image(QClipboard::Mode mode = Clipboard) const
    void setImage(const QImage &image, QClipboard::Mode mode = Clipboard)
     
    QPixmap pixmap(QClipboard::Mode mode = Clipboard) const
    void setPixmap(const QPixmap &pixmap, QClipboard::Mode mode = Clipboard)
     
    QString text(QClipboard::Mode mode = Clipboard) const
    QString text(QString &subtype, QClipboard::Mode mode = Clipboard) const
    void setText(const QString &text, QClipboard::Mode mode = Clipboard)

二、自定义数据类型
————————————————
版权声明:本文为CSDN博主「mouze_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/dhvdhd/article/details/125982778

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值