Qt:拖放操作和剪贴板

本文详细介绍了如何在Qt中实现拖放操作和剪贴板功能。拖放操作包括创建QDrag对象,设置QMimeData,处理dragEnterEvent(), dragMoveEvent()和dropEvent()。剪贴板功能利用QClipboard类存取数据,并通过QMimeData进行交换。文章还提及了自定义数据类型的拖放和剪贴板数据改变的信号处理。" 109729984,8542621,二维Arnold变换在图像加密中的应用——Matlab实现,"['图像处理', '图像加密', '信息安全', 'Matlab实现']
摘要由CSDN通过智能技术生成
一、拖放操作:
为了开始一个拖动,要创建一个QDrag对象,然后调用它的start()函数,在窗口部件的mousePressEvent()中开始
一个拖放操作,代码框架如下:
void MainWindow::mousePressEvent(QMouseEvent *event){
    if(event->button() == Qt::LeftButton){
        QDrag *drag = new QDrag(this);
        QMimeData *mimeData = new QMimeData;  //剪贴板的数据描述也用QMimeData
        mimeData->setText(textEdit->toPlainText());
        drag->setMimeData(mimeData);
        Qt:DropAction dropAction = drag->start();//参数:Qt::CopyAction,MoveAction,LinkAction,IgnoreAction
        ......
    }
}
为使目标窗口部件能够接受拖放操作,调用setAcceptDrops(true)。还要实现dragEnterEvent()、dragMoveEvent()和dropEvent():
void imageWidget::dragEnterEvent(QDragEnterEvent *event){  //拖动进入事件


    if(event->mimeData()->hasUrls()){ //hasHtml(),
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值