在Visual Studio 2010中开发Qt程序

2024-09-01 10:32
文章标签 程序 qt 开发 visual studio 2010

本文主要是介绍在Visual Studio 2010中开发Qt程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文演示如何用VS2010开发QT的应用程序界面,前提是已经搭建好了开发环境,搭建方法很简单,我在之前的博客也有描述。此处不再赘述。

1.打开VS2010的IDE开发环境,新建一个QT Application的项目命名为QtGrapher,所有的设置都可以保持默认,创建完成后可以编译运行程序,如果环境配置都正确,会弹出一个空白的GUI界面,如下所示,


2.在IDE的解决方案资源管理器中双击qtgrapher.ui,会在Qt Designer界面中打开该.ui文件,如下图所示,


3.在Qt Designer界面的右侧Buttons选项中找到Push Button控件,将其拖至qtgrapher界面中的适当位置,然后双击空间,修改控件的名称。再添加一个Label控件,如下所示,


4.在Designer界面的工具栏中选中“编辑信息/槽”按钮,将鼠标移到“打开图像”按钮上,按钮周围会出现红色框,然后按下鼠标会弹出一个“配置连接”的对话框,如下图所示,


5.在上图中点击“编辑”按钮,会弹出“×××信号/槽“的编辑对话框,点击槽的按钮添加一个槽函数OpenImageClick(),同样的方法在添加一个ExitClick()函数,然后单击确定按钮,如下图所示,


6.在配置连接窗口左侧中选择clicked(),在右侧选中OpenImageClick()函数,后单击确定按钮。这样就完整的为打开图像按钮添加了一个槽函数。同样的方法为处理图像连接刚才添加的ExitClick()槽函数,然后保存。连接完成后如下所示:


7.保存qtgrapher.ui文件,回到VS2010的IDE界面,双击qtgrapher.h头文件,为QtGrapher类手动添加两个按钮的响应函数的声明,函数名需和之间定义的槽函数名保持一致。如下所示:

#ifndef QTGRAPHER_H
#define QTGRAPHER_H
#include <QtGui/QMainWindow>
#include "ui_qtgrapher.h"
class QtGrapher : public QMainWindow
{Q_OBJECT
public:QtGrapher(QWidget *parent = 0, Qt::WFlags flags = 0);~QtGrapher();
private slots://响应打开图像文件的槽函数void OpenImageClick();//响应关闭的槽函数void ExitClick();
private:Ui::QtGrapherClass ui;
};
#endif // QTGRAPHER_H

8.在qtgrapher.cpp类实现文件中定义两个槽函数,如下:

#include "qtgrapher.h"
#include <QFileDialog>
#include <QMessageBox>
QtGrapher::QtGrapher(QWidget *parent, Qt::WFlags flags): QMainWindow(parent, flags)
{ui.setupUi(this);
}
QtGrapher::~QtGrapher()
{}
//打开图像
void QtGrapher::OpenImageClick()
{QString filename;filename=QFileDialog::getOpenFileName(this,tr("选择图像"),"",tr("Images File(*.png *.bmp *.jpg *.tif *.GIF )"));if(filename.isEmpty())return;else{QImage* img=new QImage;if(! ( img->load(filename) ) ) //加载图像{QMessageBox::information(this, tr("打开图像失败"), tr("打开图像失败!"));delete img;return;}ui.label->setPixmap(QPixmap::fromImage(*img));//在label控件中显示图片}
}
//关闭窗口
void QtGrapher::ExitClick()
{close();  //关闭窗口
}

9.保持main.cpp的结构不变,编译运行程序无错误,即可弹出设定的UI界面,如下所示:


10.单击“打开图像”按钮,弹出打开文件对话框,如下所示:


11.选择好要打开的图像后,单击打开按钮,就会在UI界面中打开所选中的图片,如下所示:


12.单击右上角的“关闭”按钮和窗口下边的"退出"按钮,都可以成功退出程序。


这篇关于在Visual Studio 2010中开发Qt程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1126686

相关文章

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

C++如何通过Qt反射机制实现数据类序列化

《C++如何通过Qt反射机制实现数据类序列化》在C++工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作,所以本文就来聊聊C++如何通过Qt反射机制实现数据类序列化吧... 目录设计预期设计思路代码实现使用方法在 C++ 工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作。由于数据类

将Java程序打包成EXE文件的实现方式

《将Java程序打包成EXE文件的实现方式》:本文主要介绍将Java程序打包成EXE文件的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录如何将Java程序编程打包成EXE文件1.准备Java程序2.生成JAR包3.选择并安装打包工具4.配置Launch4

Java程序进程起来了但是不打印日志的原因分析

《Java程序进程起来了但是不打印日志的原因分析》:本文主要介绍Java程序进程起来了但是不打印日志的原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java程序进程起来了但是不打印日志的原因1、日志配置问题2、日志文件权限问题3、日志文件路径问题4、程序

Qt中QGroupBox控件的实现

《Qt中QGroupBox控件的实现》QGroupBox是Qt框架中一个非常有用的控件,它主要用于组织和管理一组相关的控件,本文主要介绍了Qt中QGroupBox控件的实现,具有一定的参考价值,感兴趣... 目录引言一、基本属性二、常用方法2.1 构造函数 2.2 设置标题2.3 设置复选框模式2.4 是否

QT进行CSV文件初始化与读写操作

《QT进行CSV文件初始化与读写操作》这篇文章主要为大家详细介绍了在QT环境中如何进行CSV文件的初始化、写入和读取操作,本文为大家整理了相关的操作的多种方法,希望对大家有所帮助... 目录前言一、CSV文件初始化二、CSV写入三、CSV读取四、QT 逐行读取csv文件五、Qt如何将数据保存成CSV文件前言

Qt中QUndoView控件的具体使用

《Qt中QUndoView控件的具体使用》QUndoView是Qt框架中用于可视化显示QUndoStack内容的控件,本文主要介绍了Qt中QUndoView控件的具体使用,具有一定的参考价值,感兴趣的... 目录引言一、QUndoView 的用途二、工作原理三、 如何与 QUnDOStack 配合使用四、自

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

Android Studio 配置国内镜像源的实现步骤

《AndroidStudio配置国内镜像源的实现步骤》本文主要介绍了AndroidStudio配置国内镜像源的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、修改 hosts,解决 SDK 下载失败的问题二、修改 gradle 地址,解决 gradle