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():
  • 相关阅读:
    获取bootstrap table数据并封装 为json
    不自动切换eclipse视图
    over 分析函数之 lag() lead()
    oracle日期的处理
    表空间的创建
    分析函数 over用法 之row_number() runk_number
    oracle 序列
    Laravel 5
    使用hexo+github搭建免费个人博客详细教程
    windows7设置定时任务运行ThinkPHP框架程序
  • 原文地址:https://www.cnblogs.com/imagezy/p/5083313.html
Copyright © 2011-2022 走看看