QT学习笔记2
初探信号槽
代码如下:
QPushButton *button=new QPushButton("quit");
QObject::connect(button,SIGNAL(clicked()),&a,SLOT(quit()));
button->show();
QObject是所有类的根。Qt使用这个QObject实现了一个单根继承的C++。它里面有一个connect静态函数,用于连接信号槽。注意是静态函数::static。
发出信号的对象指针: button
SIGNAL 信号: clicked 点击鼠标新红
接收信号的对象指针: &a
槽函数SLOT: quit()
这种信号槽机制的原理就是指定两个对象,一个对象发出信号,一个对象响应信号。实际上和MFC的消息响应机制类似,信号就是消息,也就是可以自定义消息。槽函数就是消息响应函数,用来响应消息,做具体的任务。
组件布局
注意一点,在组件进行信号槽连接时,信号和槽如果有参数,必须加上!
QWidget* myWidget=new QWidget;
myWidget->setWindowTitle("Enter your age");
QSlider* mySlider=new QSlider(Qt::Horizontal);
QSpinBox *mySpinBox=new QSpinBox;
mySlider->setRange(0,100);
mySpinBox->setRange(0,100);
QSlider* mySlider1=new QSlider(Qt::Horizontal);
QSpinBox *mySpinBox1=new QSpinBox;
mySlider1->setRange(0,100);
mySpinBox1->setRange(0,100);
QObject::connect(mySpinBox,SIGNAL(valueChanged(int)),mySlider,SLOT(setValue(int)));
QObject::connect(mySlider,SIGNAL(valueChanged(int)),mySpinBox,SLOT(setValue(int)));
mySpinBox->setValue(50);
QObject::connect(mySpinBox1,SIGNAL(valueChanged(int)),mySlider1,SLOT(setValue(int)));
QObject::connect(mySlider1,SIGNAL(valueChanged(int)),mySpinBox1,SLOT(setValue(int)));
QHBoxLayout *myHoxlayout=new QHBoxLayout;
myHoxlayout->addWidget(mySlider);
myHoxlayout->addWidget(mySpinBox);
QVBoxLayout *myVoxlayout=new QVBoxLayout;
myVoxlayout->addLayout(myHoxlayout);
myVoxlayout->addWidget(mySlider1);
myVoxlayout->addWidget(mySpinBox1);
myWidget->setLayout(myVoxlayout);
myWidget->show();
布局的关键在于QHBoxLayout QVBoxLayout。layout使用addWidget添加组件,使用addLayout可以添加子布局。窗口通过setLayout进行布局设置。
程序运行结果

API文档的使用
QT的文档可以在可以在Qt的安装目录下的bin里面的assistant.exe中看到Qt的文档。
QT学习笔记2的更多相关文章
- qt学习笔记(五) QGraphicsPixmapItem与QGraphicsScene的编程实例 图标拖动渐变效果
应大家的要求,还是把完整的project文件贴出来,大家省点事:http://www.kuaipan.cn/file/id_48923272389086450.htm 先看看执行效果,我用的群创7寸屏 ...
- Qt学习笔记-Widget布局管理
Qt学习笔记4-Widget布局管理 以<C++ GUI Programming with Qt 4, Second Edition>为参考 实例:查找对话框 包含三个文件,f ...
- QT学习笔记(一)——Helloworld
QT学习笔记(一)--Helloworld 一.调试的基本方法: Log调试法 --在代码中加入一定的打印语句 --打印程序状态和关键变量的值 断点调试法: --在开发环境中的对应代码行加上断点 -- ...
- qt学习笔记(七)之数据库简介(所有支持数据库类型的列表)
笔者最近用Qt写公司的考勤机.本来要求是要基于frameBuffer下用自己开发的easyGUI来进行上层应用开发,但是考虑到easyGUI提供的接口不是很多,就考虑用Qt来开发,顺带练练手. 废话不 ...
- Qt学习笔记(2)-利用StackWidget实现选项卡式页面
学习笔记第二篇,利用Qt实现选项卡式的页面,效果如图1.1-图1.3所示.程序实现的功能是通过点击状态栏实现不同页面的切换,实际上Qt中自带有Tab选项卡式的控件,本文利用StackWidge实现类似 ...
- Qt学习笔记(1) hello world
Qt的简介: Qt是一个跨平台的C++ GUI库实现,原本只是以为它只提供一些图形接口,看来我还是低估了它,采用文档Qt学习之路2开始学习,不知道这个文档是不是有点老了,管他呢,先了解下. 搭建环境: ...
- 【Qt学习笔记】Qt+VS2010的配置
http://blog.csdn.net/jocyln9026/article/details/8575218 关于Qt Qt是1991年由Trolltech公司开发的一个跨平台的C++图形用户界面应 ...
- QT学习笔记1
不准备用MFC了,想切换到QT.所以跟着网上的一个笔记学习. 1 开发环境是VS2008+QT4.7+VassistX 具体如何配置看这个帖子:http://qimo601.iteye.com/blo ...
- QT学习笔记(一)——ui的认识
////////////2015/08/06/////////////////// ///////////by xbw////////////////////////// //////////环境 Q ...
- 【Qt学习笔记】窗口部件整理
关于Qt中窗口部件的学习 今天开始学习Qt的窗口部件,领略一下Qt的神奇之处,记得2012年的那年冬天,我还学Java呢,现在基本上和Java说再见了,不过对于嵌入式的开发Qt还是举足轻重的,我想趁着 ...
随机推荐
- iBeacon行为分析
研究iBeacon也有段时间了, 总结一下这段时间对于ibeaacon行为的分析. iOS 7.0及以后的版本开始支持iBeacon. 硬件方面, iPhone4S 及以后, ipad 3代及以后, ...
- Guava 并行 Futures实例
Future可以用来构建复杂的异步操作,方法不是返回一个值,而是一个Future对象.创建Future对象的过程(比如调用Future异步函数接口),不会阻塞当前线程操作,而且对象第一个次创建没有值, ...
- 详解SQL集合运算
以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化. 本系列[T-SQL基础]主要是针对T-SQL基础的总结. [T-SQL基础]01.单表查询-几道sql查询题 ...
- DNS拾遗(一)
最近帮朋友注册域名配置主机,碰到一些DNS上的一些概念,惭愧于有一些东西已经忘记是啥意思,于是决定重新学习一下DNS方面的基本概念. 常用概念: TTL: TTL为Time to live的缩写,网络 ...
- 虚拟化平台cloudstack(4)——几个异常
cloudstack主机添加不成功 CloudStack正常启动,添加区域.提供点和群集都正常,但是添加主机时提示添加不成功. 先添加主机: 然后出现提示: 在网上找了一圈,基本上没什么回复,没办法, ...
- jQuery疑惑记录
不断更新 1.项目中有一句 this.$html = $('<div/>').html(html).attr('sspa-mod-id', this.modName).hide();不知道 ...
- 带你走近AngularJS - 创建自定义指令
带你走近AngularJS系列: 带你走近AngularJS - 基本功能介绍 带你走近AngularJS - 体验指令实例 带你走近AngularJS - 创建自定义指令 ------------- ...
- Atitit 软件项目非法模块与功能的管理与 监狱管理的对比 原理与概论attilax总结
Atitit 软件项目非法模块与功能的管理与 监狱管理的对比 原理与概论attilax总结 软件项目中的非法模块非法功能非法分子与人类中的非法分子很是相似,必须要建议不同的的约束管理标准化... 软 ...
- C#并行编程-线程同步原语
菜鸟学习并行编程,参考<C#并行编程高级教程.PDF>,如有错误,欢迎指正. 目录 C#并行编程-相关概念 C#并行编程-Parallel C#并行编程-Task C#并行编程-并发集合 ...
- c#设计模式-工厂方法
一. 工厂方法(Factory Method)模式 工厂方法(FactoryMethod)模式是类的创建模式,其用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中. 工厂方法模式是简单工 ...