zoukankan      html  css  js  c++  java
  • 【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():
  • 相关阅读:
    Oracel System.Data.OracleClient requires Oracle client software version 8.1.7 or greater错误的解决方法
    oracle中CASE 的用法(摘录)
    ajaxpro 的一些用法,是在vs.net2003上
    我所知道的web下的打印方法
    电容触摸技术实用教程
    BLE资料应用笔记 持续更新
    蓝牙BLE实用教程
    README
    android 应用笔记
    Git 教程
  • 原文地址:https://www.cnblogs.com/imagezy/p/5083313.html
Copyright © 2011-2022 走看看