05 2018 档案
摘要:转自 "吴秦" 什么是库 库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。库有两种:静态库(.a、.lib)和动态库(.so、.dll)。 回顾程序编译成可执行程序的步骤: 这里存在两种链接方式:静态链接、动态链接。 静态库 静态库对应的静态链接,会将汇编生成的目标文件.o与引用到的静态
阅读全文
摘要:ps:下面所说 成员=成员变量+成员函数; 作用 由于对象与对象之间的成员变量是相互独立的。所以要想共用数据,则需要使用静态成员和静态函数。 空间分配 静态成员是在程序编译时分配空间,而在程序结束时释放空间。 ps:一般的成员在对象建立时会分配空间,在对象撤销时会释放。 声明和定义 静态成员的定义和
阅读全文
摘要:转自 "Quinn0918的博客" 一、预编译 1.将所有的 define删除,并展开所有的宏定义; 2.处理所有的预编译指令,例如: if, elif, else, endif; 3.处理 include预编译指令,将被包含的文件插入到预编译指令的位置; 4.添加行号信息文件名信息,便于调试; 5
阅读全文
摘要:第一个参数parent,也就是那个熟悉的父组件的指针; 第二个参数title就是对话框的标题; 第三个参数label是在输入框上面的提示语句; 第四个参数mode用于指明这个QLineEdit的输入模式,取值范围是QLineEdit::EchoMode,默认是Normal,也就是正常显示,你也可以声
阅读全文
摘要:转自 "豆子空间" 显示窗口 Qt提供了五个类似的接口,用于显示类似的窗口。 如果想自定义图片的话,也是很简单的。这时候就不能使用这几个static的函数了,而是要定义一个QMessagebox来使用: 使用的是exec()函数,而不是show(),因为这是一个模态对话框,需要有它自己的事件循环,否
阅读全文
摘要:转自 "豆子空间" 使用QColorDialog也很简单,Qt提供了getColor()函数,类似于QFileDialog的getOpenFileName(),可以直接获得选择的颜色。 第一行QColorDialog::getColor()调用了QColorDialog的static函数getCol
阅读全文
摘要:转自 "豆子空间" 使用QFileDialog有两种方法,一种是比较简单的使用“静态函数法”,另一种是可以自定义各个细节的“构造函数法”。 静态函数法 修改MainWindow的open函数: 第一个参数parent,用于指定父组件。注意,很多Qt组件的构造函数都会有这么一个parent参数,并提供
阅读全文
摘要:转自 "豆子空间" 状态栏位于主窗口的最下方,提供一个显示工具提示等信息的地方。一般地,当窗口不是最大化的时候,状态栏的右下角会有一个可以调节大小的控制点;当窗口最大化的时候,这个控制点会自动消失。Qt提供了一个QStatusBar类来实现状态栏。 QMainWindow类里面就有一个statusB
阅读全文
摘要:转自 "豆子空间" 主窗口 Qt的GUI程序有一个常用的顶层窗口,叫做MainWindow。MainWindow继承自QMainWindow。QMainWindow窗口分成几个主要的区域: 最上面是Window Title,用于显示标题和控制按钮,比如最大化、最小化和关闭等;下面一些是Menu Ba
阅读全文
摘要:```
cmake_minimum_required(VERSION 3.1.0) project (Project) if(CMAKE_COMPILER_IS_GNUCC) set(CMAKE_CXX_FLAGS "{CMAKE_CXX_FLAGS...
阅读全文
摘要:转自 "豆子空间" Qt 不是使用的“标准的” C++ 语言,而是对其进行了一定程度的“扩展”。这里我们从Qt新增加的关键字就可以看出来:signals、slots 或者 emit。所以有人会觉得 Qt 的程序编译速度慢,这主要是因为在 Qt 将源代码交给标准 C++ 编译器,如 gcc 之前,需要
阅读全文
摘要:转自 "豆子空间" 信号槽机制是Qt编程的基础。通过信号槽,能够使Qt各组件在不知道对方的情形下能够相互通讯。这就将类之间的关系做了最大程度的解耦。 槽函数和普通的C++成员函数没有很大的区别。它们也可以使virtual的;可以被重写;可以使public、protected或者private的;可以
阅读全文
摘要:"朝闻道" "Qt参考文档" "豆子空间" Qt是一个著名的C++库——或许并不能说这只是一个GUI库,因为Qt十分庞大,并不仅仅是GUI。使用Qt,在一定程序上你获得的是一个“一站式”的服务:不再需要研究STL,不再需要C++的$$,因为Qt有它自己的QString等等。或许这样说很偏激,但Qt确
阅读全文
摘要:"转自" 1. OpenGL 渲染管线 让我们先来弄清楚OpenGL中的渲染管线。管线是一个抽象的概念,之所以称之为管线是因为显卡在处理数据的时候是按照一个固定的顺序来的,而且严格按照这个顺序。就像水从一根管子的一端流到另一端,这个顺序是不能打破的。先来看看下面的图1: 图中显示了OpenGL图形管
阅读全文