Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1411745
  • 博文数量: 241
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 2253
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-11 22:27
个人简介

--

文章分类

全部博文(241)

文章存档

2021年(3)

2019年(6)

2018年(1)

2017年(9)

2016年(21)

2015年(50)

2014年(125)

2013年(26)

我的朋友

分类: C/C++

2016-01-22 17:15:50

1、Qt 5.2.1环境搭建


2、第一个项目  hello world!

点击(此处)折叠或打开

  1. int main(int argc, char *argv[])
  2. {
  3.     QApplication a(argc, argv);
  4.     //MainWindow w;
  5.     //w.show();
  6.     QLabel *label = new QLabel("hello world!!");
  7.     label->show();

  8.     return a.exec();
  9. }

3、信号与槽的使用

点击(此处)折叠或打开

  1. QPushButton* pushButton = new QPushButton("退出");
  2.     QObject::connect(pushButton,SIGNAL(clicked()),&a,SLOT(quit()));
  3.     pushButton->show();
用Qtcreator更方便快捷,不过要熟悉该原理。
一个动作发出一个信号,感知该信号的槽则执行相应操作。
类似于通信中广播报文,感知该报文的接收者做相应操作。
这里,我们只需要绑定信号与槽关系就可以了。

可以多个槽连接到同一个信号,但是槽接收顺序不确定;同时可以取消连接,但是,对象delte之后自动取消所有连接到这个对象上的槽。信号和槽参数必须一致,否则多余的参数都被忽略。

4、使用界面工具布局并且代码处理
如何找到控件??

点击(此处)折叠或打开

  1. Input = this->findChild<QTextEdit*>("Input");
  2.     Output = this->findChild<QTextEdit*>("Output");
  3.     QString str = Input->toPlainText();
  4.     Output->setText(str);


5、Qt基本控件
(1)QPushButton:按键
(2)QLabel:标签显示
(3)QMessageBox:提示框 ::information()
(4)

6、事件
使用一个事件队列存储所有事件,一般是新增加事件在队尾,并且事件处理顺序执行。事件也可以不进入事件队列直接处理;同时支持事件过滤器进行过滤。
当我们使用事件,我们呢关心是信号与槽,当我们自定义组件,我们关心的是事件。

阅读(612) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~