【QT相关】Image Viewer Example
结合QLable和QScrollArea显示一个图片。
QLable典型用于用户展示文本,但是也能展示图片。QScrollArea提供了一个滚动视图,如果子控件超过了框架限制,QScrollArea自动提供滚动工具。
ImageViewer类定义:
继承于QMainWindow,重写了constructor,创建了几个私有槽实现菜单入口,创建了四个私有函数。
构造ImageViewer类时使用了createActions()、createMenus();当新的图片被加载后或者“适应窗口”选项被触发后,updateActions函数更新菜单入口。Zoom槽使用scaleImage()函数实现放大缩小,scaleImage使用adjustScrollBar保存指针。
ImageViewer类实现:
- ImageViewer::ImageViewer():构造函数实现。
- void ImageViewer::open():open() slot为用户显示了一个文件窗口,最简单的方式使用QFileDialog,用QFileDialog::getOpenFileName返回用户选择的文件名,如果用户选择取消,那么QFileDialog得到的是一个空串,我们使用QMessageBox提醒用户。
- void ImageViewer::print():print() slot为用户提供了图片加载到应用的功能。如果应用在debug模式中built,那么Q_ASSERT宏将会进行扩展检查。在release模式中,这个宏就会自动忽略,宏的设置在应用的.pro文件中。加载的方式:在.pro文件中添加qmake "CONFIG += debug" foo.pro或者qmake "CONFIG += release" foo.pro。
- void ImageViewer::zoomIn();void ImageViewer::zoomOut();void ImageViewer::normalSize();
- void ImageViewer::fitToWindow():fitToWindow() slot当用户触发了“适应窗口大小”选项时,该函数被调用。
- void ImageViewer::about():about slot用于创建一个message box描述这个例子程序展示的是什么。
- void ImageViewer::createActions():
【QT相关】Image Viewer Example的更多相关文章
- QT 相关资源(书籍、论坛、博客等。。。)整理
QT 相关资源(书籍.论坛.博客等...)整理... 中文名:<提问的智慧> 英文名:How To Ask Questions The Smart Way 中文链接1:http://ww ...
- qmake.exe是在Qt安装编译时生成的,里面内嵌了Qt相关的一些路径(最简单的方法是保持一样的安装路径,最方便的办法是设置qt.conf文件)
在网上直接下载别人编译好的Qt库,为自己使用省了不少事.但往往也会遇到些问题,其中Qt version is not properly installed,please run make instal ...
- Qt相关问题
1. Qt编译中的error: cannot find -lGL和 error: collect2: error: ld returned 1 exit status 一般见于新安装的系统,马上就直 ...
- QT 相关
Qt是一个GUI框架,在GUI程序中,主线程也叫GUI线程,因为它是唯一被允许执行GUI相关操作的线程.对于一些耗时的操作,如果放在主线程中,就是出现界面无法响应的问题. 解决方法一:在处理耗时操作中 ...
- 【QT相关】对话框相关
为行编辑器限制规则: QRegExp regExp("[A-Za-z][1-9][0-9]{0,2}"); lineEdit->setValidator(new QRegEx ...
- 【QT相关】Qt Widgets Module
Qt Widgets Module:提供了一些列UI元素. 使用: //头文件包含 #include <QtWidgets> //链接模式,在.pro文件中添加行: QT += widge ...
- 【QT相关】类头文件解读、QT编辑模式、读取text文本
Wizard产生的头文件类包含了必须的#include文件.构造函数.析构函数和UI对象: #include <QMainWindow> namespace Ui {class Notep ...
- 【QT相关】QT+opencv环境配置
在qt msvc2010版软件中使用opencv2.4.9进行库函数配置.仅适用于windows下. INCLUDEPATH += $$PWD/../../../opencv/build/includ ...
- QT 相关书籍
qt qucik 核心编程 个人觉得此书写得非常之好....这位作者的另外一本虽然没看过,估计也不错 https://bbs.csdn.net/topics/390942701?list=lz qt5 ...
随机推荐
- BZOJ 3916: [Baltic2014]friends( hash )
字符串哈希..然后枚举每一位+各种判断就行了 ----------------------------------------------------------------------------- ...
- 用PyRestful快速构建Tornado下REST APIs 的支持
一.安装PyRestful库 $ pip install pyrestful 二.使用案例 (一)books_service.py # -*- coding: utf-8 -*- import tor ...
- Loadrunner11点击录制脚本无响应,IE页面弹不出——解决方案汇总
以前用Loadrunner的时候都没有遇到过这个问题,后来将服务器重装系统(win7)后,重新安装Loadrunner11,浏览器版本刚开始为IE11,后来降为IE8,IE访问部署在虚拟机里的平台能正 ...
- js函数调用模式总结
在javascript中一共有四种调用模式:方法调用模式.函数调用模式.构造器调用模式和apply调用模式.这些模式在如何初始化关键参数this上存在差异 方法调用模式 当一个函数被保存为对象的一个属 ...
- HTTP使用BASIC认证的原理及实现方法 (转载)
转自:http://blog.itpub.net/23071790/viewspace-709367 一. BASIC认证概述 在HTTP协议进行通信的过程中,HTTP协议定义了基本认证过程以允许 ...
- QT 判断当前焦点是否在某控件上(使用hasFocus函数,毕竟QT是DIRECTUI,所以这个Focus到底代表了什么呢?)
ui->pushButtonhasFocus()->hasFocus(); ui->treeWidget->hasFocus(); http://blog.csdn.net ...
- 数据结构与算法分析 3.4&3.5 — 链表的交与并算法
代码: #include <list> template<typename ElementType> list<ElementType> Intersect(con ...
- struts之拦截器
拦截器是为了让一些自己不希望发生的事情进行预防.以下我说一下struts自己定义拦截器. 以下我贴下struts.xml里的自定义的拦截器: <package name="my&quo ...
- JavaScript推断E-mail地址是否合法
编写自己定义的JavaScript函数checkEmail(),在该函数中首先推断E-mail文本框是否为空,然后在应用正則表達式推断E-mail地址是否合法,假设不合法提示用户 <script ...
- GDB命令行最基本操作
程序启动: A.冷启动 gdb program e.g., gdb ./cs gdb –p pid e.g., gdb –p `pidof c ...