在前面的文章
中,讲解了如何编辑autoexp.dat方便调试的时候可以可视化变量的值。
这里再给出一个例子,QDateTime在Qt的安装包里没有的。
QDateTime|*::QDateTime{
preview
(
#(
"ref=",[((QAtomicInt*)($e.d.d))->_q_value,d],
[(QDate*)((int)($e.d.d)+4)]," "
[(QTime*)((int)($e.d.d)+8)]
)
)
children
(
#(
[ref]:[(QAtomicInt*)($e.d.d)],
[date]:[(QDate*)((int)($e.d.d)+4)],
[time]:[(QTime*)((int)($e.d.d)+8)]
)
)
}
QDate也是没有的,但是比较复杂。
QDate|*::QDate{
preview
(
#if ($e.jd < 2299161)(
#if( (((4 * ($e.jd + 32082) + 3) / 1461) - 4800 + ((((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) / 10)) > 0)(
#(
"year=",[((4 * ($e.jd + 32082) + 3) / 1461) - 4800 + ((((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) / 10),d],
", month=",[(((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) + 3 - 12 * ((((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) / 10),d],
", day=",[(($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4) - (153 * (((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) + 2) / 5 + 1,d]
)
)
#else(
#(
"year=",[((4 * ($e.jd + 32082) + 3) / 1461) - 4800 + ((((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) / 10)-1,d],
", month=",[(((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) + 3 - 12 * ((((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) / 10),d],
", day=",[(($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4) - (153 * (((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) + 2) / 5 + 1,d]
)
)
)
#else(
#(
"year=",[100 * (((4 * ($e.jd + 68569)) / 146097) - 49) + ((4000 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) + 1)) / 1461001) + ((80 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) - (1461 * ((4000 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) + 1)) / 1461001)) / 4 + 31)) / 2447) / 11,d],
", month=",[(80 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) - (1461 * ((4000 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) + 1)) / 1461001)) / 4 + 31)) / 2447 + 2 - (12 * (((80 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) - (1461 * ((4000 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) + 1)) / 1461001)) / 4 + 31)) / 2447) / 11)),d],
", day=",[(($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) - (1461 * ((4000 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) + 1)) / 1461001)) / 4 + 31) - (2447 * ((80 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) - (1461 * ((4000 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) + 1)) / 1461001)) / 4 + 31)) / 2447)) / 80,d]
)
)
)
children
(
#if ($e.jd < 2299161)(
#if( (((4 * ($e.jd + 32082) + 3) / 1461) - 4800 + ((((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) / 10)) > 0) (
#(
[year]:[((4 * ($e.jd + 32082) + 3) / 1461) - 4800 + ((((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) / 10),d],
[month]:[(((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) + 3 - 12 * ((((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) / 10),d],
[day]:[(($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4) - (153 * (((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) + 2) / 5 + 1,d]
)
)
#else(
#(
[year]:[((4 * ($e.jd + 32082) + 3) / 1461) - 4800 + ((((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) / 10)-1,d],
[month]:[(((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) + 3 - 12 * ((((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) / 10),d],
[day]:[(($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4) - (153 * (((5 * (($e.jd + 32082) - (1461 * ((4 * ($e.jd + 32082) + 3) / 1461)) / 4)) + 2) / 153) + 2) / 5 + 1,d]
)
)
)
#else(
#(
[jd]: [$e.jd,d],
[year]:[100 * (((4 * ($e.jd + 68569)) / 146097) - 49) + ((4000 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) + 1)) / 1461001) + ((80 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) - (1461 * ((4000 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) + 1)) / 1461001)) / 4 + 31)) / 2447) / 11,d],
[month]:[(80 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) - (1461 * ((4000 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) + 1)) / 1461001)) / 4 + 31)) / 2447 + 2 - (12 * (((80 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) - (1461 * ((4000 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) + 1)) / 1461001)) / 4 + 31)) / 2447) / 11)),d],
[day]:[(($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) - (1461 * ((4000 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) + 1)) / 1461001)) / 4 + 31) - (2447 * ((80 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) - (1461 * ((4000 * (($e.jd + 68569 - (146097 * ((4 * ($e.jd + 68569)) / 146097) + 3) / 4) + 1)) / 1461001)) / 4 + 31)) / 2447)) / 80,d]
)
)
)
}
参考:
VS高级使用方法1:autoexp.dat使用Visual studio在debug时显示变量内容:http://yaogangshi.iteye.com/admin/blogs/974332
分享到:
相关推荐
在这个“Qt例程源代码QDateTime.7z”压缩包中,很可能包含了多个示例代码,用于演示如何在Qt项目中使用QDateTime类。 QDateTime类是Qt时间日期处理的核心,它结合了QDate和QTime的功能,可以表示任意精确到秒的日期...
在Qt库中,`QDateTime`是一个非常重要的类,它用于表示日期和时间。这个类提供了丰富的功能,包括创建、比较、格式化日期和时间,以及进行日期和时间的算术运算。`QDateTime`是Qt GUI应用程序开发中的常用工具,尤其...
下面我们将详细探讨`QDateTime`类以及如何在C++中利用它来计算时间间隔。 `QDateTime`是Qt的跨平台类,它提供了日期和时间的完整表示,包括日期(年、月、日)、时间(小时、分钟、秒)以及时间戳。它可以处理各种...
这样,当`SetEmptyEnable(true)`被调用时,用户就可以在DateTimeEdit中输入空值,控件会显示“未设置”字样。而当`SetEmptyEnable(false)`时,控件将恢复为常规的QDateTimeEdit行为,不允许输入空值。 在实际应用中...
在QT库中,QTime类用于表示一天内的时刻,而QDateTime类则可以表示日期和时间。QTime类提供了初始化、比较、加减操作以及格式化输出等方法。例如,你可以用QTime(0, 0, 0)来创建一个代表一天开始的QTime对象。 时间...
本教程主要探讨如何在Qt 4.8.5版本中设置和管理系统的日期与时间,包括选择时区、获取当前时间以及设定新的系统时间。 首先,要进行时间操作,我们需要包含Qt的相应头文件,如`QDateTime`和`QProcess`。`QDateTime`...
2. 未正确设置日期:在设置QDateEdit的日期时,需要使用QDate对象并调用setDate()函数。 3. 自定义逻辑错误:如果在代码中添加了自定义的日期处理逻辑,可能会导致月份设置无效。 解决这个问题的一种方法是通过以下...
这个项目为初学者提供了一个很好的起点,了解如何在Qt环境中构建一个具有实用功能的简单时钟应用。 首先,让我们深入了解一下Qt库。Qt由Qt Company维护,最初由 Trolltech 创建。它提供了丰富的API,用于创建GUI、...
在本文中,我们将深入探讨如何使用C++和Qt框架中的QChart组件来创建一个动态图表,其中的时间轴(X轴)能够随着数据的实时更新而自动调整。这个过程主要涉及Qt 5.8版本,以及Visual Studio 2013作为开发环境。我们将...
QFile 类可以在构造函数中指定文件名,也可以在任何时候使用 setFileName() 函数设置文件名。使用 open 函数打开文件,close 函数关闭文件。 QFile 中可以使用 QIODevice 中继承的 readLine() 函数读写文本文件的一...
在Qt5.8中,我们可以使用`QDate`和`QDateTime`类来处理格里历日期,而`QDateTime`类提供了`toJulianDay()`和`fromJulianDay()`方法,用于进行儒略日与格里历的转换。 1. **儒略日转格里历**: 要将一个儒略日转换...
在本文中,我们将深入探讨如何使用Qt框架来创建一个滑动设置时间的自定义控件。Qt是一个跨平台的应用程序开发框架,广泛应用于GUI(图形用户界面)编程,支持多种操作系统,如Windows、Linux和macOS。这个自定义控件...
在QT中实现配置文件设置和日志存储是一项常见的任务,它有助于管理和跟踪应用程序的运行状态,以及允许用户自定义软件行为。在VS2019编译环境下,我们可以充分利用QT的便利性来实现这些功能。 首先,我们来详细讨论...
在Qt中,`QLabel` 类是用于显示文本或图像的一个简单控件。通过结合使用 `QDateTime` 类,可以在 `QLabel` 上实时显示当前的时间。 1. **引入头文件**: - 首先需要包含 `QDateTime` 头文件,以便能够访问与时间...
在Qt框架中,滚动日期选择器是一种常用的UI组件,它允许用户方便地选取特定的日期和时间。在本文中,我们将深入探讨如何实现一个支持年、月、日、时、分、秒循环选择的Qt滚动日期选择器。我们将讨论相关的Qt类、方法...
QT自定义日期时间设置窗体是一个在软件开发中常见的功能模块,尤其在涉及到用户界面交互时,能够提供直观且易用的时间和日期选择方式。在本项目中,开发者使用了QT框架来创建这样一个窗体,它包含了一个滑块(slider...
开发者可以通过设置日期和时间的格式来决定用户在编辑框中看到的样式。例如,可以设定为“年-月-日 时:分:秒”或者“MM/dd/yyyy HH:mm:ss”。QDateTimeEdit支持多种日期和时间的显示格式,可以根据项目需求灵活配置...
在QT库中,`QDateTime`类是用于处理日期和时间的核心组件。这个类提供了丰富的功能,如获取当前时间、解析日期时间字符串、比较日期时间、进行日期时间运算等。以下是一些关于`QDateTime`的重要知识点: 1. **创建...
在Qt库中,QDateTime类是用于处理日期和时间的核心类,提供了各种操作和格式化日期和时间的方法。 QDateTime类是Qt中用于表示日期和时间的类,它可以处理从公元元年1月1日到公元5000年12月31日的日期和时间。...
在计算机编程中,获取和设置系统时间是一项基本但至关重要的任务。系统时间是计算机操作系统维护的时间戳,用于记录和协调各种操作和事件。本资源主要关注如何在不同的编程语言和环境中实现这一功能。 首先,我们...