QT入门笔记之Hello World

 

先看代码:

#include<QtGui/QApplication>

#include<QPushButton>

int main(int argc, char *argv[])

{

   QApplication app(argc, argv);

   QPushButton w("hello world!!");

   w.show();

   QObject::connect(&w,SIGNAL(clicked()),&app,SLOT(quit()));

   return app.exec();

}


代码解析:

1)  Qt图形化应用程序必要的头文件<QApplication>

2)  Qt按钮控件头文件<QpushButton>

3)  每个Qt应用程序都有且只有一个QApplication 对象,argcargv为参数

4)  w QPushButton 对象

5)  Show()显示w里面的内容

6)  QObject::connect为信号与槽的机制,当按钮被按下则触发clicked()信号发射,

与之相连的app的槽quit()相应按钮信号,执行退出应用程序的操作。

代码编译:

*.pro 项目文件

 qmake -project 用于生成程序的项目文件

 qmake 用于生成程序的Makefile

 make 用于编译Makefile文件得到可执行文件

最后出现hello world!!

QT入门笔记之Hello World_第1张图片

重点:

信号与槽机制(signal&slot)

提供了任意两个Qt对象之前的通信机制。信号会在某个特定情况或动作下被触发,槽是用于接收并处理信号的函数。例如:要将一个窗口的变化情况通知另一个窗口,则一个窗口发送信号,另一个窗口的槽接收到此信号并进行相应的操作,即可实现两个窗口之间的通信。

 

常用连接方式:

Connect(Object1,SIGNAL(signal), Object2, SLOT(slot));

SIGNAL为对象Object1的信号

SLOT为对象Object2的槽

 

多种连接方式:

1)一个信号可以连接另一个信号

Connect(Object1,SIGNAL(signal), Object2, SIGNAL(signal));

表示对象Object1的信号signal可以触发Object2的信号signal发射

 

2)同一个信号可以与多个槽相连接

Connect(Object1,SIGNAL(signa2), Object2, SLOT(slot1));

Connect(Object1,SIGNAL(signa2), Object3, SLOT(slot2));

 

3)同一个槽可以响应多个信号

Connect(Object1,SIGNAL(signa2), Object2, SLOT(slot2));

Connect(Object3,SIGNAL(signa2), Object2, SLOT(slot2));

你可能感兴趣的:(object,qt,makefile,图形,Signal)