翻譯|使用教程|編輯:吳園園|2020-05-13 16:59:23.837|閱讀 318 次
概述:到現在為止,片段被插入到片段文件中,其中每個代碼片段都被(主要是)數字標記包圍。通過執行一個\ snippet命令,然后是該片段文件的路徑以及您要引用的代碼標簽來調用它們。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Qt最早誕生于1991年,長期以來一直以“linux平臺下,最著名的開發平臺”身份,在全世界開發者中享有盛譽。Qt Enterprise是目前最先進、最完整的跨平臺C++開發工具。它不僅完全實現了一次編寫,所有平臺無差別運行,更提供了幾乎所有開發過程中需要用到的工具。如今,Qt已被運用于超過70個行業、數千家企業,支持數百萬設備及應用。
到現在為止,片段被插入到片段文件中,其中每個代碼片段都被(主要是)數字標記包圍。通過執行一個\ 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微信公眾號,及時獲取最新動態及最新資訊
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: