來源:中國電商物流網(wǎng) 發(fā)布時(shí)間:2020-5-5 8:59
Qt 是一個(gè)跨平臺的C++圖形用戶界面應(yīng)用程序框架。它提供給開發(fā)者建立圖形用戶界面所需的功能,廣泛用于開發(fā)GUI程序,也可用于開發(fā)非GUI程序。Qt是完全面向?qū)ο蟮模苋菀讛U(kuò)展,并且允許真正地組件編程。
雖然 Qt 作為開源項(xiàng)目的未來還不太清楚,但現(xiàn)在看來一切都在順利推進(jìn)中。Qt 開發(fā)團(tuán)隊(duì)的郵件列表顯示他們正在討論一個(gè)將 Qt 5 代碼移植到 Qt 6 的工具。此工具基于 Clang,可幫助開發(fā)者自動將所有 Qt 5 語法轉(zhuǎn)換為與 Qt 6 兼容。
如果這個(gè)工具能夠在很大程度上將大多數(shù) Qt 5 代碼轉(zhuǎn)換為 Qt 6 兼容的用法,那么它就可以極大地幫助提升 Qt 6 的采用率。
Qt 公司的 Vitaly Fanaskov 認(rèn)為官方應(yīng)該提供基于 Clang 的工具,將用戶的代碼庫(半)自動移植到新版本的 Qt 上。這些工具可能還需要具備對代碼進(jìn)行修復(fù)的功能,或者至少在可能存在問題的地方添加一個(gè)注釋,以便用戶對代碼進(jìn)行修正。修改 API 的開發(fā)者也應(yīng)該為這些工具實(shí)現(xiàn)一個(gè)規(guī)則。當(dāng)然也需要稍微調(diào)整一下 API 設(shè)計(jì)指南。
如果確實(shí)能夠(半)自動將 Qt 5 代碼轉(zhuǎn)換為 Qt 6 代碼,或者至少降低編碼的門檻,這無疑是一個(gè)有趣的概念。LLVM/Clang 已經(jīng)被用于自動代碼格式化、代碼翻譯和其他創(chuàng)新用例,所以這并非不可能的事情。但目前還沒有人真正寫出這個(gè)實(shí)用程序,也不清楚 Qt 公司自己是否打算這么做。
反對這個(gè)提議的觀點(diǎn)是,Clang 無法編譯所有使用 Qt 的代碼庫,所以它不能通用,而且這種轉(zhuǎn)換代碼也還沒有被寫出來。除此之外,自動生成的代碼也往往不如手寫的代碼好。Qt 6 將在2020年年底首次亮相,這個(gè)提議是否會被采用,又能否提升 Qt 6 的采用率,不妨拭目以待。
特別提醒:本網(wǎng)內(nèi)容轉(zhuǎn)載自其他媒體,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾,并請自行核實(shí)相關(guān)內(nèi)容。本站不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。如若本網(wǎng)有任何內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系我們,本站將會在24小時(shí)內(nèi)處理完畢。