Qt:拖拽图片到QLabel上并显示
来源:互联网 发布:化妆品的网络调查 编辑:程序博客网 时间:2024/05/07 18:12
#include "Widget.h"
#include "ui_Widget.h"
#include <QUrl>
#include <QList>
#include <QtGui/QPixmap>
#include <QtGui/QDragEnterEvent>
#include <QtGui/QDropEvent>
Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) {
ui->setupUi(this);
ui->label->installEventFilter(this);
ui->label->setAcceptDrops(true); // [[1]]: 使label可接受拖放操作
}
Widget::~Widget() {
delete ui;
}
bool Widget::eventFilter(QObject *watched, QEvent *event) {
if (watched == ui->label) {
if (event->type() == QEvent::DragEnter) {
// [[2]]: 当拖放时鼠标进入label时, label接受拖放的动作
QDragEnterEvent *dee = dynamic_cast<QDragEnterEvent *>(event);
dee->acceptProposedAction();
return true;
} else if (event->type() == QEvent::Drop) {
// [[3]]: 当放操作发生后, 取得拖放的数据
QDropEvent *de = dynamic_cast<QDropEvent *>(event);
QList<QUrl> urls = de->mimeData()->urls();
if (urls.isEmpty()) { return true; }
QString path = urls.first().toLocalFile();
// [[4]]: 在label上显示拖放的图片
QImage image(path); // QImage对I/O优化过, QPixmap对显示优化
if (!image.isNull()) {
image = image.scaled(ui->label->size(),
Qt::KeepAspectRatio,
Qt::SmoothTransformation);
ui->label->setPixmap(QPixmap::fromImage(image));
}
return true;
}
}
return QWidget::eventFilter(watched, event);
}
- Qt:拖拽图片到QLabel上并显示
- Qt:拖拽图片到QLabel上并显示
- Qt:拖拽图片到QLabel上并显示
- Qt:拖拽图片到QLabel上并显示
- openCV图片显示到Qt控件QLabel
- QLabel上显示图片
- Qt:解码海康视频格式并显示在QLabel上
- qt QLabel 显示网络图片
- Qt Qlabel显示图片新手教程
- Qt从指定目录读取图像文件保存并在QLabel上不断显示Demo
- 在QT集成开发环境中用OpenCV读取一张图片显示在Qlabel上
- QLabel 显示图片
- QLabel函数重载,在图片上显示文字
- 点击PushButton使得图片在QLabel上进行显示,并且自适应QLabel的控件大小
- Qt 获取网络gif图片并保存到本地显示
- Qt QLabel显示保存图像
- java对话框选择图片,并显示到lable上
- Android 从网上下载图片并显示到ListView上
- 3.5.1 OnTheFly
- pclint在 vs2008下的配置
- 倒序索引取交集
- uva 11054 - Wine trading in Gergovia
- module_init
- Qt:拖拽图片到QLabel上并显示
- JSTL标签使用说明
- DDS格式介绍及相关工具
- smartUpload控件使用
- linux下vi命令大全
- 求数组中最长递增子序列
- nefu 120 梅森素数
- Soma.js – Your Way Out of Chaotic JavaScript
- python requests