在上篇文章中Qt5+VS2015环境配置,已经详细介绍了Qt5.9与VS2015编程环境的搭建步骤,这次给出一个简单的入门示例,演示在VS2015的IDE中,如何使用Qt5.9界面库编写一个简单的打印九九乘法表的例子。

1、示例说明

软件运行界面如图所示:

在软件主界面上包含一个文本框及三个按钮,文本框显示九九乘法表,三个按钮分别实现打印九九乘法表、清空文本框内容及退出软件程序的功能。

下面说下这个例子的详细编程步骤。

2、示例实现过程

(1) 创建项目工程

打开Visual Sudio 2015,选择文件菜单,新建一个项目,如下图所示,在左侧模板中选择Visual C++语言下的Qt项目,项目类型选择Qt GUI Application,输入项目名称点击确定即可。本例在E盘Test目录下创建了一个名称为"MyDemo"的工程。

点击确定后,弹出Qt项目的配置向导,前面几步选择默认即可,在最后一步生成窗口类信息时,作如下图所示设置,类名称为“MyWnd”,基类为“QWidget”,点击“Finish”按钮就完成了项目的创建。

项目创建完成后,在VS2015编程环境左侧的解决方案资源管理器中生成了项目所必须的几个文件,包括界面文件(.ui)、资源文件(.qrc)、窗口类头文件及实现文件及主程序实现文件(main.cpp),如下图所示:

(2) 编辑界面文件

项目创建完毕后,在方案资源管理器中双击“MyWnd.ui”,自动在Qt设计师中打开该界面文件,编辑完成后的主界面如下图所示:

该界面中的对象及布局情况如下图所示,主窗口MyWnd(基类为QWidget)使用垂直布局,包括一个文本框及一个水平布局,在水平布局中包含了三个按钮。

将主窗口标题在属性编辑器的“WindowTitle”中修改为“Qt+VS2015入门示例:打印九九乘法表”。

另外,也可在属性编辑器的“windowIcon”中修改窗口的图标,修改为你想要的图标即可。注意,将图标文件保存在资源文件“MyWnd.qrc”中,在VS2015的解决方案资源管理器中双击打开该文件,如下图所示,将所需的图标文件(或者其它图像文件)添加进去即可。将图标文件添加进资源文件后,即可在设计师中将该资源文件中的图标设置为主窗口的图标。这种处理方式的优点是,在编译完成后生成的EXE文件中自动包含了图标文件,而无需另外提供图标文件。

(3) 代码功能实现

本例功能比较简单,在代码中主要对MyWnd类实现三个按钮的单击响应的槽函数。

打开“MyWnd.h”头文件,在后面添加自定义槽函数的声明,自定义槽函数的类型为“private slots:”,如下图所示:

打开“MyWnd.cpp”,添加信号与槽函数的关联及槽函数的具体功能实现,如下图所示:

代码简要解释如下:

第7-12行,在构造函数中实现三个按钮的单击信号与槽函数的关联,其中,退出程序按钮功能直接关联了窗口父类的close函数,无需单独实现。

第15-28行,在文本框中打印九九乘法表。

第30-33行,清空文本框内容。

至此,项目功能就完成了,编译运行程序,即可出现本文开头处的软件界面。

3、注意事项

(1) 如何在界面中正确显示中文字符?

在VS2015编程环境中,若在界面如文本框中通过代码显示中文字符,可能会显示乱码,此时需要在包含中文字符的文件开始位置处(如本例MyWnd.cpp中的第2行代码)添加如下代码:

#pragma execution_character_set("utf-8");

此时即可正确显示中文字符。

(2) 如何自定义生成的EXE文件图标?

如下图所示,默认情况下编译生成后的EXE为下图中左边的图标,如何更改为下图中右边所示的自定义图标呢?

方法如下:

在Visual Sudio 2015的解决方案资源管理器的右键菜单中选择“添加|资源...”,在弹出的添加资源对话框中,如下图所示,资源类型选择Icon,导入你要自定义的图标即可。此时再重新编译生成EXE文件,即可得到自定义的图标样式。

至此,这个入门示例就完成了,还是比较简单吧。

本文由编码那些事原创,请关注+转发+收藏+点赞,带你一起长知识!

qt5使用触屏 偶尔没响应_Qt5+VS2015编程入门示例及注意事项——打印九九乘法表...相关推荐

  1. qt5使用触屏 偶尔没响应_戴着手套玩手机!你试过吗?触屏灵敏又保暖,冬天再也不冻手~...

    寒风刺骨,手先知~今年是60年一遇的最寒冬,你准备好了吗?如果没有有效的保护,面对今年的寒冬,很容易冻肿.冻裂,而且会出现手指,手背奇痒难耐. 在寒风中瑟瑟发抖的我们,揣在兜里暖暖的手根本不想掏出来, ...

  2. qt5使用触屏 偶尔没响应_微软surface触摸失灵,触摸屏幕无法响应系统解决办法...

    触摸屏幕无法响应(适用所有Surface系列) 发生该问题的原因可能是:有很多可能原因,从校准到硬件或者固件.故障排查可以找到根本原因. 1.清洁屏幕 将柔软的无绒布蘸上水或眼镜清洗液来清洁屏幕,但不 ...

  3. 和平精英连接服务器未响应,和平精英触控失灵怎么回事 操作触屏有时候没反应介绍...

    和平精英许多玩家在上手体验的时候,为什么有的时候触控失灵呢?经常出现划不动的情况,那么这个到底是什么原因导致呢?毕竟关键的时候失灵会导致成盒,下面小编就为大家介绍一下吧. 触控失灵怎么回事? 1:手机 ...

  4. 和平精英服务器为什么老是无响应,和平精英触控失灵怎么回事 操作触屏有时候没反应介绍...

    和平精英许多玩家在上手体验的时候,为什么有的时候触控失灵呢?经常出现划不动的情况,那么这个到底是什么原因导致呢?毕竟关键的时候失灵会导致成盒,下面小编就为大家介绍一下吧. 触控失灵怎么回事? 1:手机 ...

  5. c语言触屏滑动图片,jQuery手机触屏滑动的响应式图片轮播效果

    插件描述:jQuery响应式图片插件,多种图片滑动轮播切换,兼容手机端的触屏滑动图片切换代码. 响应式触摸滑块 Javascript/css3 滑块 HTML This is a title This ...

  6. 仿eplie触屏版html5响应式手机wap网站模板

    简介: 一款仿eplie触屏版手机wap网站模板,html5响应式多终端,满屏显示. 12个页面,分表为:首页.帮助列表.留言板.图文列表.404模板.表格列表.提示框UI.几种布局的图片列表. 网盘 ...

  7. android 触屏的震动响应接口是什么

    调用native 方法来开启和关闭vibrator:     native static void vibratorOn(long milliseconds);     native static v ...

  8. HTML---JS移动端触屏事件touch详解

    1:触屏事件概述 移动端浏览器兼容性较好,我们不需要考虑以前 JS 的兼容性问题,可以放心的使用原生 JS 书写效果,但是移动端也有自己独特的地方.比如触屏事件 touch(也称触摸事件),Andro ...

  9. JavaScript18——触屏事件

    1.1. 触屏事件 1.1.1 触屏事件概述 移动端浏览器兼容性较好,我们不需要考虑以前 JS 的兼容性问题,可以放心的使用原生 JS 书写效果, 但是移动端也有自己独特的地方.比如触屏事件 touc ...

最新文章

  1. mysql localhost无法登陆_MySQL 'root'@'localhost'无法登录
  2. 第10章 接口、继承与多态----抽象类和接口
  3. opencv中xml/yml文件操作类
  4. java css隔行变色_JS+CSS实现Li列表隔行换色效果的方法
  5. FCKeditor 2.4.3精简优化带代码高亮(Dphighlighter)插件版
  6. Metasploit 之生成木马(msfvenom)
  7. 网龙面试后多久有回应_回应面试问题
  8. es6 string includes_蔚来初体验,蔚来ES6用车日记!开着挺轻松的
  9. 何诚:3月21日阿里云北京峰会基础设施集群智能运维大神
  10. HiBit Startup Manager(电脑开机启动项管理软件)官方中文版V2.3.20 | 电脑启动项管理工具下载
  11. 100页ppt讲清楚云原生
  12. 支持扫描的单usb口打印服务器,LP-1000 TT168L1 打印机共享器 USB网络 远程 扫描 云打印服务器...
  13. BOSS直聘新财报:用户、技术两手抓
  14. c语言浮点数乘法算法,单精度浮点数乘法的实现
  15. 【优化规划】基于matlab禁忌搜索算法求解配电网无功补偿优化规划问题【含Matlab源码 1842期】
  16. 21世纪的中国计算神经科学展望
  17. [转]中国股市真能独善其身吗?
  18. visio创建树形图
  19. 工科生的信仰 ESP32 + HaaS Python 打造HaaS收音机
  20. 【知识图谱】知识图谱的基础概念与构建流程

热门文章

  1. spring mvc 与 jasper Report集成
  2. 事件监听机制——鼠标事件MouseEvent
  3. java中的final, finally, finalize的区别
  4. mysql 利用binlog增量备份,还原实例
  5. Xtreme ToolkitPro 编译过程详解
  6. struts1.3执行流程分析
  7. C'mon C'mon-Von Bondies
  8. vscode Python 运行环境配置
  9. Uva572(DFS+联通集)
  10. 网络对抗作业——程瑀