QT学习笔记-01

这是我学习Qt的笔记,讲的应该不会太仔细。

第一件事都是HelloWorld,

so,新建一个Apllication程序,选择Qt Widgets Application,(我看的教程是选择Qt Gui application,反正是创建QT桌面程序)

 

 1 #include "mainwindow.h"
 2 #include <QApplication>
 3 #include <qlabel.h>
 4 
 5 int main(int argc, char *argv[])
 6 {
 7     QApplication a(argc, argv);
 8     //MainWindow w;
 9     //w.show();
10     QLabel la("Hello world");
11     la.show();
12 
13     return a.exec();
14 }

点绿色箭头后,跑出来这么一个界面,算成功了?!

 

//---------------------------------------------------------------

信号槽

所谓信号槽,实际就是观察者模式。当某个事件发生之后,比如,按钮检测到自己被点击了一下,它就会发出一个信号(signal)。这种发出是没有目的的,类似广播。如果有对象对这个信号感兴趣,它就会使用连接(connect)函数,意思是,用自己的一个函数(成为槽(slot))来处理这个信号。也就是说,当信号发出时,被连接的槽函数会自动被回调。这就类似观察者模式:当发生了感兴趣的事件,某一个操作就会被自动触发。

上面这句是文档里的内容,感觉还算容易理解,就不自己构思怎么描述了。

按钮 Qt 中被称为QPushButton

 1 #include "mainwindow.h"
 2 #include <QApplication>
 3 #include <qlabel.h>
 4 #include <qpushbutton.h>
 5 
 6 int main(int argc, char *argv[])
 7 {
 8     QApplication a(argc, argv);
 9     //MainWindow w;
10     //w.show();
11     QLabel la("Hello world");
12     la.show();
13     QPushButton button("Quit");
14     QObject::connect(&button, &QPushButton::clicked, &QApplication::quit);
15     button.show();
16 
17     return a.exec();
18 }
View Code

这里跑出来的结果并不是我期望的先有一个Helloworld,后面跟一个按钮,而是只看到一个按钮,恩,后面需要弄清楚是怎么回事。

QObject::connect()有五个重载:

posted @ 2017-03-10 18:06  行走的泡泡鱼  阅读(378)  评论(0)    收藏  举报