Bootstrap

VS+QT入门总结

一. 环境搭建

1.下载某版本VS,略。
1.到 下载地址下载对应版本的VS扩展插件。
2.到下载地址下载QT5.14.2(最后一个可离线安装版本)
3.Qt VS Tools点击Qt Options,Add按钮,Path按钮找选择qt安装目录下的MSVC 编译器模块路径。

二.问题小节

1.文本中文显示乱码:
在头文件中加上下面几行就好了。

#ifdef WIN32  
#pragma execution_character_set("utf-8")  
#endif

2.有函数参数是中文字符串,报错或乱码。
解决方法:属性 c/c++ 命令行 其他属性 里面加入 -utf-8,qtcreator应该有类似的设置。

3.QPainter 绘图类
paintEvent(),刷新绘图事件,界面初始化或者
需要刷新时才会执行的事件。一般使用update()方法执行 paintEvent()事件

4.继承QThread的多线程
继承自QThread的类,重写run()方法,run()中实现子线程逻辑。需要的时候进行start()方法,会自动调用run()运行子线程。

5.继承QObject的多线程
调用moveToThread(),将该类移至QThread类中,开启线程时调用QThread的start()。结束线程时调用子类的stopWork()。

6.foreach 关键字
是QT添加的,不是C++语法。foreach(a,b) a是变量名或变量定义,b是类型为a的容器,功能是遍历b中的所有元素。

7.简单空间布局方法
①定义布局 水平布局:new QHBoxLayout();
垂直布局:new QVBoxLayout();
②定义容器 new QWidget();
③将组件添加到布局中,同一行或列的组件都添加到该布局中

布局->addWidget(组件);

④设置容器的布局

容器->setLayout(布局);

⑤添加了基本组件(按钮,文本框等)的容器,可以当作组件来添加到更上一层的容器中。
⑥将最大的容器居中显示,之前所有基本组件都可显示

setCentralWidget(最上层的容器);

示意图
8.使用组件时,添加头文件,VS报错找不到对应头文件,QTcreater却可以正常编译。
解决方法:在VS中找到“QT project settings”选项,不同版本VS选项的位子不同。将对应模块打上勾在这里插入图片描述
在这里插入图片描述

;