用来记录学习c++的历程~
2022年08月26日
Day1:环境搭建
- 安装gcc和cmake
- 不知道该用什么IDE,先试试clion
- 看了看菜鸟教程,找了下学习路线
Day2:qt学习
因为公司技术选型qt所以先了解qt
IDE尝试了clion和QtCreater发现想用qt还是得QtCreater。
优点一:编译方便,简单项目不需要自己去写CMakeList并且主动提供了DeBug、Profile、Release三种编译策略,完全不需要配置。顾名思义这三者为调试、平衡、发布版本。
优点二: QtCreater自动生成的.pro文件方便管理项目。很多基础配置都可以更简便的实现。
优点三:更方便的集成QtDesign。clion如果想可视化编辑ui,需要配置外部工具,这个外部工具大概率就是QtDesign,而QtCreater直接集成了QtDesign,谁也不想开发时还要打开多个IDE吧。
那问题就简化了,首先要了解QtCreater
- 犹豫不决Hello World!先运行起来再说。
- 了解.pro文件,其实可以发现,有点像pom文件,感觉可以类比着理解,如果后续发现不同再来更新。
- 试着给程序加上图标。
生成图标步骤:
- 新建一个文件夹XXX.iconset
- 把图标文件放到这个文件夹里,png格式。eg:logo.png
- 执行
1 | sips -z 16 16 logo.png --out icon_16.png |
生成16到512像素的图标。
- 回到上级文件夹执行
iconutil -c icns logo.iconset
- 在.pro文件添加
ICON = ./xxx.icns
重新编译。 - 这里要吐槽一下macos,生成图标太复杂了…Windows直接用.icon就可以。
- 初步认识“信号(signal)和槽(slot)”
信号槽是 Qt 框架引以为豪的机制之一。所谓信号槽,实际就是观察者模式。当某个事件发生之后,比如,按钮检测到自己被点击了一下,它就会发出一个信号(signal)。这种发出是没有目的的,类似广播。如果有对象对这个信号感兴趣,它就会使用连接(connect)函数,意思是,将想要处理的信号和自己的一个函数(称为槽(slot))绑定来处理这个信号。也就是说,当信号发出时,被连接的槽函数会自动被回调。信号和槽是Qt非常核心的内容,可以说如果不会灵活使用信号和槽,那么使用Qt也就失去了意义。
- 尝试使用signal& slot