qt关于QLabel控件的实现双击调用文件对话框
2015-12-10 23:43
507 查看
<span style="font-family: Arial, Helvetica, sans-serif; white-space: normal; background-color: rgb(255, 255, 255);">这里是手动添加以QLabel为基类c++类,重载mouseDoubleClickEvent()</span>
<span style="font-family:Arial, Helvetica, sans-serif;"><span style="white-space: normal; background-color: rgb(255, 255, 255);">nlabel.h</span></span>
<span style="font-family:Arial, Helvetica, sans-serif;"><span style="white-space: normal; background-color: rgb(255, 255, 255);"> </span></span>
#ifndef NLABEL_H #define NLABEL_H #include <QLabel> class nLabel : public QLabel { public: explicit nLabel(QWidget *parent = 0); ~nLabel(); public: void mouseDoubleClickEvent(QMouseEvent *); }; #endif // NLABEL_H
nlabel.cpp
#include "nlabel.h"#include <QFileDialog>nLabel::nLabel(QWidget *parent):QLabel(parent){}nLabel::~nLabel(){}void nLabel::mouseDoubleClickEvent(QMouseEvent *){QStringList fileNameList;QString fileName0;QFileDialog* fd = new QFileDialog(this); //创建对话框fd->resize(240,320); //设置显示的大小fd->setNameFilter("Images (*.png *.xpm *.jpg)"); //设置文件过滤器fd->setViewMode(QFileDialog::List); //设置浏览模式,有 列表(list) 模式和 详细信息(detail)两种方式if ( fd->exec() == QDialog::Accepted ) //如果成功的执行{fileNameList = fd->selectedFiles(); //返回文件列表的名称fileName0 = fileNameList[0]; //取第一个文件名this->setScaledContents(true); //设置图片显示时自动匹配大小this->setPixmap(fileName0); //显示图片}elsefd->close();}
写完后将控件提升为这个类就可以了。
相关文章推荐
- qtree(树链刨分)
- Qt Creater 3.5.1 Windows 下调试
- ubuntu14.04 64bits操作系统下 qt5.3.0的安装配置(doxygen,astyle),qt卸载
- Qt创建动态链接库
- Failed to load platform plugin "windows" Qt5
- QT如何从配置文件读取参数并保存最近使用的参数
- QT学习资料下载
- QT如何显示中文,解决乱码问题
- Windows 8.1下Qt5.4 + OpenCV3.0的安装与配置
- 开发环境配置--Ubuntu+Qt4+OpenCV(三)
- Qt 程序异常结束,并且crashed
- mqtt协议理解
- 自动化测试培训:qtp脚本获取获取汇率数据
- Qt浅谈之三十六仿360设置中心
- QT获取控件中心点,图片按比例缩放
- QT检查文件是否存在
- Qt交叉编译imx6
- Qt实现指定线程执行回调
- 老李分享:QTP的录制原理以及实现
- Qt安装和QML HelloWord程序