苏州网站制作的公司,wordpress 主题小工具,世纪购网站开发招聘,网站首页设计素材文章目录 1. Qt Hello World 程序1.1 通过图形化界面的方式1.2 通过代码的方式实现 2. Qt 的编码问题3. 使用输入框实现hello world4. 使用按钮实现hello world5. Qt 编程注意事项6. 查询文档的方式7. 认识Qt坐标系 1. Qt Hello World 程序 1.1 通过图形化界面的方式
我们先讲… 文章目录 1. Qt Hello World 程序1.1 通过图形化界面的方式1.2 通过代码的方式实现 2. Qt 的编码问题3. 使用输入框实现hello world4. 使用按钮实现hello world5. Qt 编程注意事项6. 查询文档的方式7. 认识Qt坐标系 1. Qt Hello World 程序 1.1 通过图形化界面的方式
我们先讲解第一种方式用图形化界面的方式我们先打开widget.ui进入Qt designer 进入之后我们可以拖拽Label这个控件 然后我们可以拉伸这个控件敲出我们的hello world 然后在我们的widget.ui中就有我们的Label标签 此时在setupUi里就有了lable的相关设置
1.2 通过代码的方式实现
我们先打开widget.cpp 那么我们需要在这里面去构建我们的Label 可以看到出现了错误因为Qt中每个类都有对应的同名头文件。我们需要包含头文件 创建对象的时候我们可以在堆上创建也可以直接在栈上创建。但是建议在堆上创建更好。 给当前的对象指定一个父对象让这个对象知道自己在哪。 这里的QString是什么呢 上述代码在Qt中不会产生内存泄漏label对象会在合适的时候自动被析构释放。之所以能把对象释放掉主要是因为把这个对象挂到了对象树上。对象树主要是一个N叉树把界面上的各种元素组织起来了。 假设我们要布局一个这样的界面那么它的对象树如下 使用对象树把这些内容组织起来最主要的目的就是为了能够在合适的时机(窗口关闭/销毁)把这些对象统一进行释放。 所以我们更加建议通过new的方式创建对象也就是把这个对象的生命周期交给Qt的对象树来统一管理。如果这个对象是在栈上创建就可能会存在一些提前释放的问题。
2. Qt 的编码问题 可以看到当析构打印的时候它是乱码的。 在计算机中一个汉字占几个字节 对于这个问题只要你回答出一个具体的数字就一定是错的。因为中文编码有很多种。计算机存的是二进制数字英文字母可以用一个ASCII码表来表示规定了每个字符都有一个对应的数字来表示。 那么中文我们也是采用了一个大表格给每个汉字分配一个整数。
字符集表示汉字的字符集其实有很多种的。不同的字符集表示同一个汉字使用的数字不相同。 可以看到这个文件采用的是UTF-8来进行编码的。 现在就可以正常打印了。
3. 使用输入框实现hello world 因为只打印hello world所以使用单行编辑器就行。 我们把这个控件拖拽就可以编辑了。 右边可以修改这个编辑框的属性。
代码的方式
4. 使用按钮实现hello world 但是这里点击没有反应需要和信号槽机制相关。 在Qt中需要使用一个叫做connect函数 比如在上面的widget.ui中有一个属性 下面进行一个演示 这样的代码就可以进行按钮的切换。 代码方法
5. Qt 编程注意事项
Qt 偏好驼峰命名法 举个例子 Qt Creator 中的快捷键
6. 查询文档的方式
打开帮助⽂档有三种⽅式 3、找到 Qt Creator 的安装路径找到 assistant.exe双击打开 7. 认识Qt坐标系 在计算机中的坐标系X向右增加Y向下增加。 举个例子 这里坐标的单位是像素。 这里我们也可以设置窗口的位置。