彩票走势图

开发框架Qt使用教程:使Qt文档中的代码片段可编译

翻译|使用教程|编辑:吴园园|2020-05-13 16:59:23.837|阅读 282 次

概述:到现在为止,片段被插入到片段文件中,其中每个代码片段都被(主要是)数字标记包围。通过执行一个\ snippet命令,然后是该片段文件的路径以及您要引用的代码标签来调用它们。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

Qt最早诞生于1991年,长期以来一直以“linux平台下,最著名的开发平台”身份,在全世界开发者中享有盛誉。Qt Enterprise是目前最先进、最完整的跨平台C++开发工具。它不仅完全实现了一次编写,所有平台无差别运行,更提供了几乎所有开发过程中需要用到的工具。如今,Qt已被运用于超过70个行业、数千家企业,支持数百万设备及应用。

点击下载Qt Enterprise最新试用版

到现在为止,片段被插入到片段文件中,其中每个代码片段都被(主要是)数字标记包围。通过执行一个\ snippet命令,然后是该片段文件的路径以及您要引用的代码标签来调用它们。

一个例子:

... 
\ snippet graphicsview.cpp 2 
...
片段文件中的片段:

//! [2]
class View : public QGraphicsView
{
Q_OBJECT
...
public slots:
void zoomIn() { scale(1.2, 1.2); }
void zoomOut() { scale(1 / 1.2, 1 / 1.2); }
void rotateLeft() { rotate(-10); }
void rotateRight() { rotate(10); }
...
};
//! [2]

该摘要文件主要是cpp或qml文件。片段可以包含语法错误或错别字。他们不应通过审核阶段,但如果这样做,则CI不会发现这些错误。使代码片段可编译将避免这种情况。但是,对于qml中的代码片段,这是不可能的,因为当前无法编译qml。

使代码段可编译还意味着您必须插入仅代码段才能使代码段可编译。在任何地方都没有引用并且实际上没有功能含义的代码。有时甚至是“ typedef void”语句,只是为了使摘要代码可编译。这也意味着有时必须拆分一个片段文件。某些代码段实际上是不可编译的。该代码段可能非常简洁(参见下文),或者可能涉及到在某些平台上可能无法编译的库。

//! [1]
//! [0]
#include <QtQuickTest>
//! [0]
QUICK_TEST_MAIN(example)
//! [1]

在这种情况下,片段文件被拆分,其中一个文件仍具有原始名称,而另一个不可编译的文件在其基本名称后附加了_snippet。

对于QtSql,我必须将所有Progresql语句移至不可编译的代码段文件。我可以在Linux上编译Progresql语句,但是肯定存在无法编译它们的平台。

可编译的片段需要一个新的项目文件snippets.pro。您可以在下面看到QtWidgets的项目文件:

requires(qtHaveModule(widgets))
requires(qtHaveModule(printsupport))

TEMPLATE = app

TARGET = widgets_snippets

QT += widgets printsupport

SOURCES += customviewstyle.cpp \
filedialogurls.cpp \
graphicssceneadditemsnippet.cpp \
graphicsview.cpp \
mdiareasnippets.cpp \
myscrollarea.cpp

QtWidgets,QtSql,QtTest,QtQuickTest和Qt Network已经做到了这一点。

局限性之一是,我们仅计划将代码段编译为语法或命名检查。我没有对该可执行文件进行进一步测试。在Qt 6中,qml将是可编译的,这将允许我们对qml使用相同的代码段检查系统。

 =====================================================

购买Qt Enterprise正版授权的朋友可以点击""哦~~~

扫描关注慧聚IT微信公众号,及时获取最新动态及最新资讯

Qt使用教程:使Qt文档中的代码片段可编译


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP