从头开始创建 QML 控件:SwitchButton

Qt自定义控件封装

继续我们的QML Controls from Scratch系列,这次我们将实现一个 Switch。Switch 与CheckBox类似,不同之处在于它具有可滑动的药丸(通过 MouseArea 和拖动属性实现)并且没有文本属性。可以通过点击或拖动来切换开关。

S[……]

继续阅读

分类: C++标签:

从头开始创建 QML 控件:CheckBox 和 RadioButton

Qt自定义控件封装

继续我们从头开始的 QML 控件系列,这次我们将实现一个 CheckBox。我们还将几乎免费获得 RadioButton。CheckBox 与 Button 类似,不同之处在于它在checked属性中保持选中/未选中状态。所有 QML 属性都有一个关联的 *Ch[……]

继续阅读

分类: C++标签:

从头开始创建 QML 控件

Qt自定义控件封装

QML 为开发用户界面提供了一个非常强大和灵活的框架。提供的基本元素是低级的,因此您通常需要将用户界面的组件构建成类似小部件的控件。开发一组通用 QML 控件可以大大减少项目的整体开发工作量。

在本系列中(假设您熟悉基本的 QML),我们将从头开始创建一组简约的[……]

继续阅读

分类: C++标签:

使用 Qt event事件:综合指南

Qt事件分发器

关于在 Qt 中处理事件你需要知道的一切。

Qt 有两个主要机制允许开发人员对应用程序中发生的事情做出反应。其中之一,更常见的是信号和插槽。另一种是使用事件。本指南的目的是全面介绍在 Qt 应用程序中交付和处理事件的不同技术。该指南非常实用,并为读者以正确的方式尝试 ID[……]

继续阅读

分类: C++标签:

使用 C++11 Lambda 作为 Qt 插槽

我有一个旧代码库,我开始使用 Qt 3.x 框架编写——在 Qt4 发布前不久。它还活着!我仍在努力,尽可能地与Qt和 C++ 保持同步,并且我仍在发布产品。多年来,我将代码库从 Qt4 转移到 Qt5,并转移到支持C++11的编译器上。我有时发现有点过分的一件事是为超短且不会被重用的东西声明插槽。[……]

继续阅读

分类: C++标签:

QT5 布局教程

布局

在本教程中,我们将学习 Qt 的布局。我们将使用 Designer 而不是以编程方式进行。

文件->新建文件或项目…

应用程序->Qt Gui 应用程序->选择…

我们将使用 QDialog。

在放置 Label、TextEdit、S[……]

继续阅读

分类: C++标签:

QT5 教程 MainWindow 和 ImageViewer 使用B

ImageViewer B 的主窗口

本教程是上一节ImageViewer A 的主窗口的延续。

我们将从上一教程中构建的菜单中完成操作。换句话说,我们需要将每个 QAction 连接到适当的插槽。

将操作连接到插槽

建立联系

我们将使用 Qt Designer 将每个[……]

继续阅读

分类: C++标签:

QT5 教程 MainWindow 和 ImageViewer 使用A

ImageViewer 的主窗口

在本教程中,我们将学习如何从主窗口类的菜单和工具栏设置操作,就像上一个教程一样。但这一次,它稍微复杂一些,更接近实际应用。这主要基于Qt 教程,但旨在更详细地提供更多细节:使用设计器构建 ui,而不是直接键入代码。

开始

文件->新建文件或项[……]

继续阅读

分类: C++标签:

QT5 教程 Q_OBJECT 宏

Q_OBJECT 宏

对于开始使用 Qt 的人来说,Q_OBJECT 宏可能是最奇怪的事情之一。

Qt QObject 类说:Q_OBJECT 宏必须出现在声明自己的信号和槽或使用 Qt 元对象系统提供的其他服务的类定义的私有部分中。

所以,听起来我们需要它来使用信号[……]

继续阅读

分类: C++标签: