从头开始创建 QML 控件:滑块Slider

继续我们从头开始的 QML 控件系列,这次我们将实现一个 Slider。Slider 具有value、minimum和maximum公共属性。Slider 是用一个覆盖整个控件的MouseArea实现的,并利用拖动来处理用户左右滑动“药丸”(用户移动的部分)。

背景“托盘”(一条水平线,可以点[……]

继续阅读

分类: C++标签:

使用 C/C++ 连接MySQL数据库

MySQL 连接器C/C++

这是 MySQL Connector/C++ 的一个版本,它是用于与 MySQL 服务器通信的 C++ 接口。

有关详细信息,请访问官方MySQL 连接器C/C++ 文档。

许可

有关详细信息,请参阅此存储库中提供的文件 README 和 LIC[……]

继续阅读

在 C++ 的 Printf 方法中转义%百分号

printf()方法使用百分号(%)作为格式说明符的前缀。
例如:
要在prinf()方法中使用数字,我们使用 %d,但如果您真的想在字符串中使用百分号怎么办。

输出

如您所见,它没有按预期打印输出。

如果要在printf()方法转义百分号,可以使用 % 两次 ( %[……]

继续阅读

C++ 11 中的类型推导(auto 和 decltype)

Type Inference in C++ (auto and decltype)

类型推断是指在编程语言中自动推断出表达式的数据类型。在 C++ 11 之前,每种数据类型都需要在编译时显式声明,从而在运行时限制表达式的值,但在 C++ 新版本之后,包含了许多关键字,允许程序员将类型推导留给编[……]

继续阅读

C++ 11 中的 constexpr与const的区别

constexpr是 C++ 11 中添加的一项功能。主要思想是通过在编译时而不是运行时进行计算来提高程序的性能。请注意,一旦开发人员编译并最终确定了程序,用户就会多次运行它。这个想法是在编译上花费时间并在运行时节省时间(类似于模板元编程)。constexpr 指定可以在编译时计算对象或函数的值,并[……]

继续阅读

C++ 11中的 nullptr与NULL的区别

NULL是一个“清单常量”(#defineC 中的一个),它实际上是一个整数,可以通过隐式转换分配给指针。

nullptr是表示自定义类型值的关键字,可以转换为指针,但不能转换为整数。

这对于解决泛型编程中可能出现的歧义很重要:

假设您有两个重载函数:

现在,如果您调[……]

继续阅读

C++ 11字符串 原始字面量 R””Raw string Literal语法 

Raw String Literal in C++

Literal 是一个常量变量,其值在程序的生命周期内不会改变。然而,原始字符串文字是一个字符串,其中不处理 C++ 的’ \n、\t或\” ‘ 等转义字符。因此,一个以R”( and ends in )”结尾的原始字符串文字。

Raw[……]

继续阅读

分类: C++

Qt 中的事件过滤器event filter

介绍

事件是继承 Qt 中 QEvent 类的对象。事件通过调用 QObject::event() 传递给从 QObject 继承的对象。事件传递意味着一个事件已经发生,QEvent 准确地表明了什么,QObject 需要响应。大多数事件都特定于 QWidget 及其子类。但是,有一些与图形无[……]

继续阅读

分类: C++标签:

QT5 资源文件.qrc添加

我们将 .pro 文件设置为资源,然后在运行时将其读回并显示到控制台中。

正如我们在图片中看到的,我们(application.exe)可以在运行时访问资源。

Qt 资源系统是一种独立于平台的机制,用于在应用程序的可执行文件中存储二进制文件。如果我们的应用程序总是需要一组特定的文件([……]

继续阅读

分类: C++标签: