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

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

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]

使代码段可编译还意味着您必须插入仅代码段才能使代码段可编译。在任何地方都没有引用并且实际上没有功能含义的代码。有时甚至是“ 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 = appTARGET = widgets_snippetsQT += widgets printsupportSOURCES += customviewstyle.cpp filedialogurls.cpp graphicssceneadditemsnippet.cpp graphicsview.cpp mdiareasnippets.cpp myscrollarea.cpp

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

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

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

购买Qt Enterprise正版授权的朋友可以点击咨询在线客服哦~~~

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

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年4月10日
下一篇 2020年4月10日

相关推荐

发表回复

登录后才能评论