这里是一些QT的资料

目前需要做一个界面,想想也是迟早的事情。
我自己是跟着这个人的CSDN上做的。
http://blog.csdn.net/liang19890820/article/details/51752029
安装问题上,觉得这个写的太不详细了,然后是度娘走的
http://jingyan.baidu.com/article/17bd8e5234b79a85ab2bb8be.html
我在这里选择的是默认安装了

然后里面直接有QTcreator

这个人的博客不错:
http://www.cnblogs.com/jingliming/p/4947534.html

QTcreator 平台的搭建

This is my first qt program
方案1

#include "mainwindow.h"//用“”来表示自定义头文件或者本地地头文件
#include <QApplication>//用<>来表示系统自带到额头文件
#include< QLabel>int main(int argc, char *argv[])
{QApplication a(argc, argv);// MainWindow w;//  w.show();QLabel label("Helloworld!!!");label.show();return a.exec();
}


方案2:

#include <QApplication>
#include <QLabel>int main(int argc, char *argv[])
{QApplication app(argc, argv);QLabel *label = new QLabel("Hello, world!");label->show();return app.exec();
}

和方案一的运行结果一样。
如果这么改一下:

QLabel *label = new QLabel("<h2><font color='red'>Hello</font>, world!<h2>");

那么运行结果是:

QT visual studio 平台的搭建

这个地方有的最下面有otherdownload,下载visual studio add-in
https://www.qt.io/download-open-source/#section-2
现在配齐了这两个安装包

qt creator

补丁下载地址:
https://developer.microsoft.com/zh-cn/windows/hardware/windows-driver-kit
正确的安装步骤,查看这个人的博客
解决方案:
http://blog.csdn.net/suima0v0/article/details/50973861

GUI

Graphic User Interface 图形化用户界面
QT中把窗体定义成:Widget,他们都共同继承一个父类:Qwidget

初探信号槽

#include <QApplication>
#include <QPushButton>int main(int argc, char *argv[])
{QApplication a(argc, argv);QPushButton *button = new QPushButton("Quit");QObject::connect(button, SIGNAL(clicked()), &a, SLOT(quit()));button->show();return a.exec();
}

运行截图:

代码解释:QObject是所有类的根。Qt使用这个QObject实现了一个单根继承的C++。它里面有一个connect静态函数,用于连接信号槽。

组件布局

组件定位:包括绝对定位和布局定位
绝对定位就是使用最原始的定位方法,给出这个组件的坐标和长宽值。这样,Qt就知道该把组件放在哪里,以及怎么设置组件的大小了。

#include <QApplication>
#include <QWidget>
#include <QSpinBox>//引用控件spinbox
#include <QSlider>//引用控件slider
#include <QHBoxLayout>int main(int argc, char *argv[])
{QApplication app(argc, argv);//实例化了一个叫app的对象QWidget *window = new QWidget;//实例化了一个QWidget窗口window->setWindowTitle("enter your age");//将这个窗口的名字叫做enter you ageQSpinBox *spinBox = new QSpinBox;//实例化一个spinBox的对象QSlider *slider = new QSlider(Qt::Horizontal);//实例化一个滑条的对象spinBox->setRange(0, 130);//spinBox的范围是0-130slider->setRange(0, 130);//slider的范围是0-130QObject::connect(slider, SIGNAL(valueChanged(int)), spinBox, SLOT(setValue(int)));//让slider和spinBox的值联系在一起,具体来说是slider控制spinbox,也即是前面的参数控制后面的的参数QObject::connect(spinBox, SIGNAL(valueChanged(int)), slider, SLOT(setValue(int)));spinBox->setValue(66);//设置他的初始值QVBoxLayout *layout = new QVBoxLayout;//实例化了VBoxlayout布局的对象,数值方向进行排列layout->addWidget(spinBox);//在这个布局中添加spinbox对象layout->addWidget(slider);//在这个布局中添加slider对象window->setLayout(layout);//设立对象吧window->show();//显示窗口return app.exec();
}

Qt一共有三种主要的layout,分别是:
1、QHBoxLayout- 按照水平方向从左到右布局;
2、QVBoxLayout- 按照竖直方向从上到下布局;
3、QGridLayout- 在一个网格中进行布局,类似于HTML的table。
layout使用addWidget添加组件,使用addLayout可以添加子布局,因此,这就有了无穷无尽的组合方式。

信号和槽

Qt中的事件处理机制叫“信号和槽”signal&slot
其理论模型:
对象a中有一个信号:signal:XXX(代表一个事件)
对象b中有一个槽;slot: YYY(事件处理函数)
我们把信号和槽连接起来
connect(a,XXX,b,YYY);
然后当a中事件发生时,b中的处理函数就会被调用

进程和多线程

进程(process)和线程(thread)
线程是进程的一个实体,是CPU调度和分派的基本单位,他是比进程更小的能够独立运行的基本单位
一个程序至少一个进程,一个进程至少一个线程
一个进程里面多个线程之间的内存空间是共享的
但是当一个线程共享内存的时候,其他线程必须等他结束之后才能使用这一内存
防止多个线程共同读写某一块内存区域的方法叫做互斥锁:Mutex
还有一些内存区域,只能提供给固定数目的线程使用
信号量(semaphore)用来保证多个线程不会相互冲突
问题:
1、一个cpu可以有多少个进程,(也就是有有多少个工厂能够正常工作)
2、在一个进程当中,同一个任务,也就是在买菜,在买菜的内存空间,炒菜在炒菜的内存空间进行
单个任务在不同的部分运行


因为很多事情要在linux的环境中进行操作
然后这个下面的链接的在Ubuntu14.04中安装QT
http://jingyan.baidu.com/article/c85b7a640812ca003bac95b5.html

开头结尾的宏是用了避免重复编译,中间的宏是Qt用的,只有指定了才能使用信号槽


先跟着视频走,在visual stdio中创建出QT


可以按F5直接运行



然后就可以搞定QTdesigner了
然后保存一下

配置vissat



然后在安装目录下找到对应的文件,然后安装进去。
这里总共要加3个
1、QT下的include文件夹
2、QT下的include下的QTcore核心
3、QT下的include下的QTGUI


然后重新打开visual stdio 就可以了

这个地方,就不会像刚才那样会有红色的下划线。

如果想要直接拿到。exe执行文件,那么到这个目录下,但是出现了没有加入
动态库的现象

解决办法:

将这个路径拷贝到环境变量当中

记得,前面一定一定要加分号


现在就可以了
如果想要运行别人的程序,还需要参考QT4/5的程序发布


贴上QT视频的链接:
http://e.youku.com/v/course/play?coid=6426&chid=80612&spm=a2h0v.8244393.2370309.4
在QT当中吧窗体叫做widget,这些都继承自QWidget
signal & slot 信号槽机制就是事件处理机制

窗口坐标

顶级窗口和子窗口
顶级窗口是一个标准窗口,带有边框等等~(独立)
子窗口,就是点击一个button,或者文本框里面的窗口(不独立)
代码解析

在QT当中只要定义窗口就必须有这个Q_OBJECT这个宏

在visual studio当中添加一个窗口的时候



然后在MyWInd

C++学习笔记(四)QT的简单使用 —参考阿发你好相关推荐

  1. C++学习笔记(一) 基础语法 —参考阿发你好

    -###-----------------------– 阿发你好第2章 输出指定宽度的数字 #include <stdio.h> #include <stdlib.h> in ...

  2. 学习笔记之Qt从入门到精通(三)

    整理日期: 2010年4月9日 本文是学习笔记之Qt从入门到精通(二)的接续 Part 3: 进阶学习 Qt4 学习笔记 Qt 可以运行在不同的平台,像是Unix/X11.Windows.Mac OS ...

  3. Qt学习笔记,Qt国际化

    Qt学习笔记,Qt国际化 Qt国际化步骤: 第一步:设置.pro文件,加入TRANSLATIONS为国际化做准备 TRANSLATIONS = language/language_en.ts\     ...

  4. C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻

    前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要 ...

  5. IOS学习笔记(四)之UITextField和UITextView控件学习

    IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...

  6. JSP学习笔记(四十九):抛弃POI,使用iText生成Word文档

    POI操作excel的确很优秀,操作word的功能却不敢令人恭维.我们可以利用iText生成rtf文档,扩展名使用doc即可. 使用iText生成rtf,除了iText的包外,还需要额外的一个支持rt ...

  7. 吴恩达《机器学习》学习笔记四——单变量线性回归(梯度下降法)代码

    吴恩达<机器学习>学习笔记四--单变量线性回归(梯度下降法)代码 一.问题介绍 二.解决过程及代码讲解 三.函数解释 1. pandas.read_csv()函数 2. DataFrame ...

  8. mysql新增表字段回滚_MySql学习笔记四

    MySql学习笔记四 5.3.数据类型 数值型 整型 小数 定点数 浮点数 字符型 较短的文本:char, varchar 较长的文本:text, blob(较长的二进制数据) 日期型 原则:所选择类 ...

  9. 【学习笔记】网络流算法简单入门

    [学习笔记]网络流算法简单入门 [大前言] 网络流是一种神奇的问题,在不同的题中你会发现各种各样的神仙操作. 而且从理论上讲,网络流可以处理所有二分图问题. 二分图和网络流的难度都在于问题建模,一般不 ...

最新文章

  1. iMeta期刊12名编委入选科睿唯安2021年度高被引学者
  2. python爬虫工程师-记录一下自己找“python爬虫工程师实习生”岗位的经历
  3. 在UWP的按钮中使用Segoe MDL2 Assets图标
  4. TensorFlow版的“Hello World”,运行官网第一个例子
  5. html5 video js控制摄像头的焦距,html 通过input video canvas 打开摄像头 定制相机
  6. 309. Best Time to Buy and Sell Stock with Cooldown 最佳买卖股票时机含冷冻期
  7. springcloud注册中心eureka
  8. 过程(栈帧结构是干货)
  9. USACO / Sorting a Three-Valued Sequence (简单题,方法正确性待证)
  10. ducument.ready不生效的问题 ruby on rails
  11. 线程(一)__同步以及死锁
  12. P2P(对等网络)、 PT 下载与 BT 下载
  13. snakeyaml操作yml文件中注释的处理
  14. excel工作簿合并怎么处理?
  15. 类和对象的关系练习题:需求:将汽车改装成3个轮子的车并换个颜色。
  16. Python爬虫生成二维码应用,突显个性味道
  17. CSS深入理解之relative
  18. 每次关机的时候总显示[742.602384]system halted,关不了机,只能强制关机,解决方法
  19. 测量学matlab使用心得,测量学实习心得体会4篇
  20. 关于SYSTICK延时函数的两个小疑问

热门文章

  1. B站笔试真题之[编程题]小A最多会新认识的多少人
  2. 服务器装系统步骤图解win7,怎么装win7系统?本地硬盘安装win7/XP系统详细教程
  3. 美学设计标杆+创新影像体验:荣耀50系列2399元起
  4. RAC ReactiveCocoa 使用小集
  5. 哪个软件可以制作GIF动态图
  6. AirtestIDE 教程 : 5分钟上手自动化测试
  7. vs MD /MDD /ML /MT /MTD的简单介绍
  8. 安徽大学生攻防赛 crypto-wp
  9. 【算法讲4:乘性函数(上)】欧拉函数 | 因子和函数 | 因子个数函数
  10. 显控触摸屏SA-4.3A下载程序提示:选择的HMI型号不匹配