一 Qt简介 Qt 是一个跨平台的C++应用程序框架,支持Windows.Linux.Mac OS X.Android.iOS.Windows Phone.嵌入式系统等.也就是说,Qt 可以同时支持桌面应用程序开发.嵌入式开发和移动开发,覆盖了现有的所有主流平台.你只需要编写一次代码,发布到不同平台前重新编译即可. Qt 不仅仅是一个GUI库,它除了可以创建漂亮的界面,还有很多其他组件,例如,你不再需要研究STL,不再需要C++的<string>头文件,不再需要去找解析XML.连接数据库.So…
一   信号和槽 GUI 程序除了要绘制控件,还要响应系统和用户事件,例如重绘.绘制完成.点击鼠标.敲击键盘等.当事件发生时,UI 会产生相应的变化,让用户直观地看到. 大部分编程(例如Win SDK.Web前端)中使用回调函数来响应事件,而 Qt 却独创了信号和槽机制.所谓回调函数,就是程序员提前定义一个函数,当事件发生时就调用该函数. 信号和槽是Qt的核心,它让两个互不相干的对象连接起来,当一个对象的状态改变时,可以通知另一个对象. 我们先通过例子来演示一下信号和槽: 具体的代码: #inc…
一 窗口部件 基础窗口部件QWidget类是所有用户界面对象的基类,窗口和控件都是直接或间接继承自 QWidget,下面我们来看一个很简单的例子: 窗口部件(Widget)简称部件,是QT中建立界面的主要元素,QT中把没有嵌入到其他部件部件成为窗口,一般的窗口都有边框,标题栏,窗口是指程序的整体界面,可以包含标题栏.菜单栏.工具栏.关闭按钮.最小化按钮.最大化按钮等:控件是指按钮.复选框.文本框.表格.进度条等这些组成程序的基本元素.一个程序可以有多个窗口,一个窗口也可以有多个控件.(但其实控件…
Qt Creator 是一个跨平台的.完整的 Qt 集成开发环境,其中包括了高级C++代码编辑器.项目和生成管理工具.集成的上下文相关的帮助系统.图形化调试器.代码管理和浏览工具等.这一章先对 Qt Creator 的下载安装和界面环境进行简单介绍,然后打开并运行一个 Qt 示例程序来让读者了解 Qt Creator 的基本使用方法,其中会重点介绍帮助模式的使用.Qt Creator 其他功能可以参考 Qter 开源社区书籍页面相应的网络教程. 一.Qt Creator 的下载与安装 这里的主要…
一.编写 Hello World Gui程序 Hello World程序就是让应用程序显示"Hello World"字符串.这是最简单的应用,但却包含了一个应用程序的基本要素,所以一般使用它来演示程序的创建过程.本节要讲的就是在Qt Creator中创建一个图形用户界面的项目,来生成一个可以显示"Hello World"字符串的程序. 1.1 新建 Qt Gui 应用 (1)运行 QtCreator,打开"文件一新建文件或项目"菜单项(也可以直接…
对于日常见到的应用程序而言,许多都是基于主窗口的,主窗口中包含了菜单栏.工具栏.状态栏和中心区域等.这一章会详细介绍主窗口的每一个部分,还会涉及资源管理.富文本处理.拖放操作和文档打印等相关内容.重点是讲解知识点,而相关的综合应用实例放到了<Qt及Qt Quick开发实战精解>一书中. Qt中提供了以QMainWindow类为核心的主窗口框架,包含了众多相关的类,它们的继承关系如下图所示,本章会讲解到图中每一个类的基本应用. 一.主窗口框架 主窗口为建立应用程序用户界面提供了一个框架,Qt提供…
Qt官方信息 Qt官网:http://qt.digia.com/ Qt开源官网:http://qt-project.org/ Qt最新版本下载:http://qt-project.org/downloads Qt所有版本下载:ftp://ftp.qt-project.org/qt/source/ Qt Creator所有版本下载:ftp://ftp.qt-project.org/qtcreator/ 一.Qt与Qt Creator简介 Qt是一个跨平台应用程序和 UI 开发框架.使用 Qt 您只…
一个完善的应用程序不仅应该有实用的功能,还要有一个漂亮的外观,这样才能使应用程序更加友好,更加吸引用户.作为一个跨平台的UI开发框架,Qt提供了强大而灵活的界面外观设计机制.这一章将学习在Qt中设计应用程序外观的相关知识,会对Qt风格QStyle和调色板QPalette进行简单介绍,以及介绍不规则窗体和透明窗体的实现方法. 一.Qt风格 Qt中的各种风格是一组继承自QStyle的类.QStyle类是一个抽象基类,封装了 一个GUI的外观,Qt的内建(built-in)部件使用它来执行几乎所有的绘…
从这一章开始正式接触Qt的窗口部件.在第2章曾看到 Qt Creator 提供的默认基类只有 QMainWindow.QWidget 和 QDialog 这3种.QMainWindow 是带有菜单栏和工具栏的主窗口类,QDialog 是各种对话框的基类,而它们全部继承自 QWidget.不仅如此,其实所有的窗口部件都继承自 QWidget,如下图所示.这一章会讲解 QWidge.QDialog 和其他一些常用部件类, 而 QMainWindow 将在第5章讲解. 一.基础窗口部件 QWidget…
一.国际化 国际化的英文表述为Internationalization,通常简写为I18N(首尾字母加中间的字符数),一个应用程序的国际化就是使该应用程序可以让其他国家的用户使用的过程. Qt支持现在使用的大多数语言,特别是: 所有东亚语言(汉语.日语和朝鲜语): 所有西方语言(使用拉丁字母): 阿拉伯语: 西里尔语言(俄语和乌克兰语等): 希腊语: 希伯来语: 泰语和老挝语: 所有在Unicode5. 1中不需要特殊处理的脚本. 在Qt中,所有的输入部件和文本绘制方式对Qt所支持的所有语言都提…
第3章讲述了一些窗口部件,当时往界面上拖放部件时都是随意放置的,这对于学习部件的使用没有太大的影响,但是,对于一个完善的软件,布局管理却是必不可少的. 无论是想要界面中部件有一个很整齐的排列,还是想要界面能适应窗口的大小变化,都 要进行布局管理.Qt中主要提供了 QLayout 类及其子类来作为布局管理器,它们可以实现常用的布局管理功能,QLayout及其子类的关系如下图所示. 一.布局管理系统 Qt的布局管理系统提供了简单而强大的机制来自动排列一个窗口中的部件,确保它们有效地使用空间.Qt包含…
ui中的类,这样使用无法通过调试: Ui::Dialog ui(&w); w.show(); 而需要改成: Ui::Dialog ui; ui.setupUi(&w); w.show(); Dialog包含ui类为私有成员,在Dialog的构造函数中添加了一些操作,在main函数使用下面的代码,调试时构造函数中的操作并没有执行,难道还需要一些启动命令?? Dialog ui(&w); w.show(); 使用at()比[]下标要快,因为它不会引起深拷贝. QT的字符串格式化输出:…
专为设计师而写的GitHub快速入门教程 来源: 伯乐在线 作者:Kevin Li     原文出处: Kevin Li 在互联网行业工作的想必都多多少少听说过GitHub的大名,除了是最大的开源项目托管平台,许多企业也都是用GitHub来协同开发工作,当然我们彩程 也是其中之一.笔者最初决定学习Git也是因为在团队内部设计方案初步被开发出来后,难免会有一些细节需要调整,而为了调整几像素的问题再求前端工程师出 马,其实是很影响整体效率的,所以希望通过学习GitHub好在必要的时候直接参与开发,能…
 Apple Watch开发快速入门教程  试读下载地址:http://pan.baidu.com/s/1eQ8JdR0 介绍:苹果为Watch提供全新的开发框架WatchKit.本教程是国内第一本Apple Watch开发教程,全面讲解WatchKit的各个方面,帮助读者更为快速的掌握Watch开发方式和流程.    目录  第1章  开发环境--Xcode 1 1.1  苹果账号 1 1.1.1  苹果账号的成员分类 1 1.1.2  注册免费的苹果账号 1 1.1.3  注册收费的苹果账号…
指示灯组与3个复位按钮的介绍Arduino Yun快速入门教程 1.4.2  指示灯组 指示灯组的放大图如图1.5所示. 图1.5  指示灯组 各个指示灯对应的功能如下: q  RX:对应于0号端口,串行通讯的接收指示,在接收数据时闪烁: q  TX:对应于1号端口,串行通讯的发送提示,在发送数据时闪烁: q  L13:连接在13号端口,当13号端口为高电平时被点亮: q  WAN:有线网络连接指示,在网线有数据交换的时候点亮: q  ON:电源指示: q  WLAN:WIFI指示,同时也可以用…
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; font: 30.0px Helvetica; color: #000000 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px "PingFang TC Semibold"; color: #000000 } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0…
一.前言 本篇开发环境?1.操作系统: Windows 10 X642.SDK: .NET Core 2.0 Preview 二.安装 .NET Core SDK 1.下载 .NET Core下载地址:https://www.microsoft.com/net/download/core根据自己电脑情况选择对应版本即可.NET CORE 2.0下载地址:https://aka.ms/dotnet-sdk-2.0.0-preview2-win-x64 2.安装微软出品,一键安装,只需一步,看图:…
一.前言 为什么要调试代码?通过调试可以让我们了解代码运行过程中的代码执行信息,比如变量的值等等.通常调试代码是为了方便我们发现代码中的bug.ken.io觉得熟练代码调试技巧是成为合格程序员的基本要求. 本篇开发环境1.操作系统: Windows 10 X642.SDK: .NET Core 2.0 Preview3.IDE:VS Code 1.14 二.调试技巧 设置断点 在代码编辑区域,点击左侧代码行行号的左边,即可在该行设置断点 启动调试 使用菜单:调试->启动调试,或者使用快捷键F5启…
一.前言 为什么选择VS Code?VS Code 是一款跨平台的代码编辑器,想想他的哥哥VS,并是微软出品的宇宙第一IDE,那作为VS的弟弟,VS Code 也不会差,毕竟微软出品.反正ken是这么认为的 本篇开发环境?1.操作系统: Windows 10 X642.SDK: .NET Core 2.0 Preview3.VS Code:1.14 前置知识?请看第2篇教程 二.安装&配置 1.VS Code 下载&安装(1)下载地址:https://code.visualstudio.c…
一.前言 本篇开发环境?1.操作系统:CentOS7(因为ken比较偏爱CentOS7)2.SDK版本:.NET Core 2.0 Preview 你可能需要的前置知识1.了解如何通过Hyper-V安装CentOS虚拟机2.了解CentOS7基础命令/常用命令 二.安装 .NET Core SDK 1.安装必要依赖 sudo yum -y install libunwind libicu 2.下载(SDK列表) cd /home/downloads curl -sSL -o dotnet-2.0…
<Visual C++ 2010入门教程>系列三:关于C++的一些问题   这一回我自己都不知道应该写点什么好,或许今天的篇幅会比往常短很多.我说过,这不是C++的教程,因为我还没有那个能力来教大家C++,我能做的,是分享一些学习的经验,以及教新手如何使用VC2010这个工具去练习和实践其它C++教材上面的程序,如<C++Primer>等. 今天说的是我学习和使用C++这些年来对C++的一些理解,这样的日志其实是最难写的,因为众口难调,为什么这么说呢?同样的一段音乐不同的人去倾听都…
转:MySQL快速 入门教程 目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数据类型 五.使用MySQL数据库 登录到MySQL 创建一个数据库 选择所要操作的数据库 创建数据库表 六.操作MySQL数据库 向表中插入数据 查询表中的数据 更新表中的数据 删除表中的数据 七.创建后的修改 添加列 修改列 删除列 重命名表 删除整张表 删除整个数据库 八.附录 修改 root 用…
SQL Server2012 T-SQL基础教程--读书笔记(1-4章) SqlServer T-SQL 示例数据库:点我 Chapter 01 T-SQL 查询和编程背景 1.3 创建表和定义数据的完整性 1.3.1 创建表 1.3.2 定义数据的完整性 1. 主键约束 2. 唯一约束 3. 外键束约 4. CHECK约束 5. 默认约束 Chapter 02 单表查询 2.1 SELECT 语句元素 2.1.7 TOP和OFFSET-FETCH 1. TOP筛选 2. OFFSET-FETC…
npm 与 package.json 快速入门教程 2017年08月02日 19:16:20 阅读数:33887 npm 是前端开发广泛使用的包管理工具,之前使用 Weex 时看了阮一峰前辈的文章了解了一些,这次结合官方文章总结一下,加深下理解吧! 读完本文你将了解: 什么是 npm? 安装 npm 更新 npm package.json 文件 package.json 如何创建 package.json 的内容 指定依赖的包 Semantic versioning(语义化版本规则) 安装 pa…
SQL Server2012 T-SQL基础教程--读书笔记(8 - 10章) 示例数据库:点我 CHAPTER 08 数据修改 8.1 插入数据 8.1.1 INSERT VALUES 语句 8.1.2 INSERT SELECT 语句 8.1.3 INSERT EXEC 语句 8.1.4 SELECT INTO 语句 8.1.5 BULK INSERT 语句 8.1.6 标识列属性和序列对象 8.1.6.1 标识列属性 8.1.6.2 序列对象 8.2 删除数据 8.2.1 DELETE 语…
原文:[C#]WixToolset快速入门教程 介绍 给windows系统做软件,常见的打包工具大家可能都听说过,如:大名鼎鼎的Installshield.Inno setup等.在遇见Wix之前InstallShield时我的主力打包工具,操作简单方便项目使用到的dll文件会自动添加,多语言支持也很好,不过不好的是免费版的功能就那几样,越来越无法满足自己的要求.后来就尝试了下Inno setup,这个是用脚本进行配置并生成安装包的,简单尝试之后发现实在麻烦还不好配置,于是就放弃了.再后来就遇到…
什么是Spring Boot? Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.简而言之,Spring Boot通过提供默认配置的方式整合了所有的框架,让我们可以更加简单.快速.方便地构建应用程序. 为什么要用Spring Boot? Spring Boot包含以下几个特性: 默认提供了大部分框架的使用方式,方便进行快速集成 Spring Boot应…
npm 与 package.json 快速入门教程 2017-08-02 19:16:20 拭心 阅读数 78648更多 分类专栏: 学学前端   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u011240877/article/details/76582670 npm 是前端开发广泛使用的包管理工具,之前使用 Weex 时看了阮一峰前辈的文章了解了一些,这次结合官方文章总结一下,加深…
EntityFramework6 快速入门教程 不得不说EF在国内实在是太小众,相关的技术文章真实屈指可数,而且很多文章都很旧了,里面使用的版本跟如今的EF6差别还是比较大.我刚开始弄这个的时候真是绕了不少弯路. 学习EF还是需要一些条件,使用EF并不意味着你就可以完全不跟数据库打交道了,要学好EF,数据库中的什么主键.外键.索引.SQL等你还是要懂,另外EF中将大量使用LINQ来进行数据查询,数据模型中还将涉及到特性与泛型,所以对于C#的基础要求还比较高. 在我看来EF并不适合初学者使用,虽然…
游戏控制杆OUYA游戏开发快速入门教程 1.2.2  游戏控制杆 游戏控制杆各个角度的视图,如图1-4所示,它的硬件规格是本文选自OUYA游戏开发快速入门教程大学霸: 图1-4  游戏控制杆各个角度的视图 q  蓝牙无线连接: q  用于游戏控制的按键:双摇杆(analog joystick).方向按键(D-pad).8个动作按钮(action button).1个系统按键(system button)和1个触控板(touchpad): q  2个5号电池: 提示:游戏控制杆中,电池的安装位置在…