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 @   行走的泡泡鱼  阅读(371)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 【.NET】调用本地 Deepseek 模型
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
点击右上角即可分享
微信分享提示