【转】三、QT例子-打开一个图片并且显示
一、前言
本博客的主要目的在于对QT有进一步的了解,单纯只使用QT。
今天小例子主要是打开图片,然后显示出来,并且显示图片的路径。
二、工程建立
1、参考前面 博客一QT安装过程里面的例子, 建立一个QT GUI Application
2、打开.ui文件,然后拖动一个label控件,双击删除内容,然后拖动一个pushButtion, 更改内容为“打开图片”
注意其名称如箭头指示,一个是label_2,一个是pushButton
3、拖动一个lineText到如下位置:
4、然后保存并且关闭ui文件
5、建立工程如图(仍然是博客一的工程),配置属性:release x64
7、代码如下:
main.cpp:
#include "HelloWorld.h" #include <QtWidgets/QApplication>int main(int argc, char *argv[]) {QApplication a(argc, argv);HelloWorld w;w.show();return a.exec(); }
helloWorld.h
#pragma once#include <QtWidgets/QMainWindow> #include "ui_HelloWorld.h" #include <Qlabel> #include <QLineEdit> #include <QImage> #include <QFileInfo> #include <QFileDialog> class HelloWorld : public QMainWindow {Q_OBJECTpublic:HelloWorld(QWidget *parent = Q_NULLPTR);private:Ui::HelloWorldClass ui; private slots:void OpenImg(); };
helloWorld.cpp
#include "HelloWorld.h"HelloWorld::HelloWorld(QWidget *parent): QMainWindow(parent) {ui.setupUi(this);connect(ui.pushButton, SIGNAL(clicked(bool)), this, SLOT(OpenImg())); } void HelloWorld::OpenImg() {QString OpenFile, OpenFilePath;QImage image;OpenFile = QFileDialog::getOpenFileName(this,"please choose an image file","","Image Files(*.jpg *.png *.bmp *.pgm *.pbm);;All(*.*)");if (OpenFile != ""){if (image.load(OpenFile)){//仅仅只是导入之后的图片仍然是原来的大小,这个时候我们需要缩放ui.label_2->setPixmap(QPixmap::fromImage(image).scaled(ui.label_2->size()));}}//显示所有的图片路径QFileInfo OpenFileInfo;OpenFileInfo = QFileInfo(OpenFile);OpenFilePath = OpenFileInfo.filePath();ui.lineEdit->setText(OpenFilePath); }
8、编译运行
点击打开图片,然后就可以显示如下,并且可以显示图片的路径
三、遇到问题
当代码第一次写入的时候,这个时候控件的名字下面会出现波浪线,如下。
放上去的时候会显示没有ui没有成员label_2.
这种情况就是ui界面已经定义了控件,但是在cpp里面却没有办法调用。
处理办法如下:
1、点击ui文件,然后右键选择编译
2、然后选择HelloWorld项目,右键选择重新扫描解决方案
如果不行多试几次。
四、参考博客
问题:控件在cpp里面无法调用
https://blog.csdn.net/qq_38378235/article/details/82288874
打开显示图片:
https://blog.csdn.net/weixin_42704090/article/details/90400427
【转】三、QT例子-打开一个图片并且显示相关推荐
- WinPcap基础知识(第三课:打开一个适配器捕捉数据包)
现在我们已经知道了怎样去获取一个适配器并使用它,让我们开始真正的工作-----开始抓取网络数据包吧.在这一课中我们将写一个程序,这个程序将在我们选择的适配器上监听,并抓取通过这个适配器上的每一个数据包 ...
- 测试用例--------WPS插入图片后,再次打开,图片无法显示的原因
保存前: 1.保存失败,导致文件中不存在改图片 2.保存文件的格式导致图片丢失..java .c .xml .... 3.图片的格式在保存时被修改,导致图片打开后显示不了 4.图片的分辨率与系统 ...
- php打印文字到图片,【PHP】打开一个图片然后加上水印(图片上生成文字)
1.自动生成图片,在图片上生成文字 Header("Content-type: image/gif"); //设置Header,如果输出图片不成功,请先暂时去掉这代码查看错误 $i ...
- opencv第一课 打开一个图片
#include<stdio.h>#include<stdlib.h>#include<opencv2\opencv.hpp>#include<iostrea ...
- Vc - Qt - 实现加载图片并显示到窗口中
一.我是如何分析的,并如何做的呢? 1.最终效果展示 2.如何分析,如何做的呢? 当点击uploadBtn按钮时候,会调用打开文件对话框窗口,对话框限制了图片的后缀,只能打开*.png或者*.jpg的 ...
- uni-app在手机上打开背景图片不显示
uniapp项目在浏览器上打开背景图显示正常, 但在手机上打开时背景图没显示 , 解决办法: 把图片弄成动态的变量引入 <view :style="{backgroundImage:` ...
- QT+PCL+VTK 一个点云显示和处理软件
今晚是201809月的一天,我刚开完一个很长的讨论会,会后做了一个ppt(因为明天上午还有讨论会,要发言),于是乎我开始对一个说长不长说短不短的时间里完成的工作进行了一个总结(也只做了两页ppt),相 ...
- linux下打开png图片不显示,r – 无法显示png
我在VM(Red Hat Enterprise Linux Server 6.4版)上运行R-shiny(R版本3.0.1(2013-05-16)).一切正常,即服务器启动,应用程序运行等--只要我不 ...
- QT实现一个图片显示器,有登录界面(附图片,源码可直接使用)
QT-图片浏览器(显示器)的实现(含登录界面) 一.设计要求 1.登录界面 创建一个窗体,设计用户登录的界面(含有用户名.密码),并实现用户登录的功能,要求用户提交的登录按钮时能获取界面中的用户名 ...
最新文章
- error C2057: expected constant expression (C语言中数组的大小可以在程序运行时定义吗? )
- Android的面孔_Actiyity
- 如何更换ppt模板内容不变_如何制作一个优秀的PPT?附18000+套精品PPT模板
- 手机编译mysql_玩转MySQL 8.0源码编译
- solr之搭建企业搜索平台,配置文件详细solrconfig.xml
- RSA 2019|远禾科技携YScanner荣获国际权威杂志认可
- 编程语言python入门-编程语言入门(以python为例)
- 搜索框键盘抬起事件2
- STM32F1系列简单介绍及入门学习
- 计算机操作系统在线阅读,计算机操作系统 孙雅如.pdf
- 将excel表数据顺序与linux,Excel中表格数据进行颠倒顺序的设置方法
- 计算机excel求四分位数,四分位数怎么算excel?
- dexpathlist.java_java.lang.ClassNotFoundException: Didn't find class xxx on path: DexPathList
- wx.canIUse
- Linux启动阶段Grub损坏修复
- 全球与中国pH控制剂市场现状及未来发展趋势(2022)
- 如何将PDF转换成Excel表格?这两种方法超实用
- 高程、方位角、图幅编号
- 《十二怒汉》看到一半的观后感(一些零零碎碎语句不通的感想)
- 蛮力法(Brute Force)