
發布
注冊
/
登錄ui的案例
引領數字體驗未來:UI框架性能探析
本文翻譯自:Shaping the Future of Digital Experience - UI Framework Performance
原文作者:Qt Group 產品營銷經理 Matteo Capelletti
校審:Rita Qian
在之前的博文中,我們討論了UI框架的基本元素——即一套現成的解決方案,可以用于快速跨平臺開發并有效縮短UI應用程序的上市時間。在本篇博文中,我們就來探討一下如何實現流暢無縫的性能,讓您的應用程序能夠真正在市場上打動用戶。但首先,我們需要明確什么是“UI應用程序”,以及它與其他類型的可視化軟件(如視頻游戲或設計創作工具)的區別。
所謂的“UI應用程序”
盡管人們常常以為自己知道“UI應用程序”是什么,但對于到底哪些應用程序才可以被稱為UI應用程序存在一定的誤解。這種誤解可能會對我們選擇正確的開發框架來創建UI應用程序產生負面影響。
考慮到圖形界面是UI應用程序的一個重要方面,但它只是眾多方面之一。UI應用程序不僅僅是在屏幕上渲染的圖形,而是一個可視化界面,用于實時運行于后端的數據、服務和函數。通常情況下,它也不是那種在整個屏幕上呈現單個場景,消耗所有可用的系統資源的獨立軟件,而是一個各類UI元素的捆綁包,如嵌入式應用程序和服務、小部件、圖表、交互區域和視圖,它們共存于一個或多個屏幕上,以并行的方式為用戶提供所需的多任務信息。在UI應用程序中,多個進程會競爭有限的系統資源,例如內存、運算能力、存儲,通常也包括低功耗設備的電能。我們會談到UI框架提供的一些智能解決方案,利用它們來有效地處理并發任務。但首先,我們需要更詳細地了解UI應用程序的結構和邏輯。
展開 引領數字體驗未來:UI框架的圖形能力
主題設置可以包括更改顏色、字體和圖標,也可以通過添加或刪除部件來重新調整UI結構,以便更好地適應不同的形式因素。這些操作對于在各種產品組合中確保一致的品牌形象和基本功能顯得尤為重要。
嵌入游戲引擎的圖形能力
一流的UI框架通常支持不同類型的圖形API,以創建先進的3D視覺效果,如OpenGL、OpenGL ES、Vulkan、Direct3D和Metal。此外,它還可以輕松利用游戲引擎生成的內容嵌入到UI窗口中,或者作為一種中間件,將游戲引擎的先進視覺和物理特性與標準UI服務(例如輸入管理、網絡、媒體,甚至可能缺失的認證安全渲染解決方案)相結合。
在涉及圖形質量、性能、安全性和跨平臺能力等要求時,將游戲引擎的圖形能力融入UI框架具有一定的優勢。憑借其高效的資源管理系統,UI框架可以在資源受限的設備上實現具有游戲體驗的應用,并為安全關鍵應用提供認證。
與持續以最高幀率渲染視覺內容的PC單機游戲不同,
UI引擎的事件驅動架構
最大程度地減少了每個進程所需的CPU、GPU和內存資源。換句話說,與游戲引擎需要大量資源來提供高品質渲染和流暢游戲體驗相比,UI引擎通過按需分配策略使資源得到節省和合理利用,并根據實時需求動態地在多個進程中分配。UI引擎的跨平臺特性既可以在保持UI元素在加載、繪制過程及內存中占用最少資源的同時,還可以把相同的用戶體驗擴展到各種硬件類型上,帶來我們
之前討論過的
眾多優勢。其中最為突出的一點是,在低端硬件上也能提供令人驚艷的視覺效果,成為高品質軟件的一種具有高性價比的解決方案。
深圳市優飛迪科技有限公司成立于2010年,是一家專注于產品開發平臺解決方案與物聯網技術開發的國家級高新技術企業。
展開 引領數字體驗未來:UI框架基礎
本文翻譯自:Shaping the Future of Digital Experience - UI Framework Foundations
原文作者:Qt Group 產品營銷經理 Matteo Capelletti
校審:Fred Kang
對于數字設備,現代用戶關心的主要特性包括豐富的功能、可靠性、互聯性和流暢的性能。但用戶的期望值始終在提升。流暢的用戶體驗、驚艷的視覺效果、定制能力以及跨平臺兼容性已經成為區分平庸產品與樹立行業新標準產品的關鍵競爭要素。
在成功的數字設備中,誘人的視覺效果包含強大的功能,并以簡單自然的方式呈現。其中一個關鍵點在于,簡潔的用戶體驗和美觀的視覺效果掩蓋了軟件架構的復雜性。因此,大部分人難以想象UI和UX設計、代碼編寫、第三方解決方案以及后臺服務等各種工作的投入,以及在測試、修復漏洞和性能優化方面所花費的時間。
然而,軟件開發人員和管理者明白,開發出一款讓人覺得操作起來像控制身體一樣符合直覺的產品是多么困難和費力。他們更加清楚,選擇合適的工具不僅有助于降低生產成本和縮短上市時間,而且對確保整個企業的成功至關重要。
在過去近30年里,Qt Group一直致力于解決類似的復雜問題,并確定了UI框架中應包含的關鍵功能,以便在所有類型的電子設備上創建具有標志性的數字體驗。在UI應用程序剛剛起步,線框圖還是用紙筆繪制時,Qt框架就已引領行業。如今,在用戶體驗由實時協作內容創作工具定義的時代,Qt支持將設計自動轉換為功能完備的應用程序,并在沉浸式虛擬現實(VR)環境中進行驗證。
UI框架
UI應用開發需要一個包含各種功能和服務的開發環境,為設計師和工程師提供通用功能和資源,作為構建UI應用的基礎。
展開 引領數字體驗未來:UI框架工作流
為所有UI應用程序的核心組件提供標準化構建模塊,以及方便與現有軟件堆棧集成的UI框架,可以從根本上解決這類問題。
多產品公司面臨的另一個關鍵問題是差異化。這涉及到不同型號、產品線、市場、區域和人群之間的功能、外觀和體驗差異。
要在全球范圍內實現成功的端到端開發,關鍵在于協調這兩個相對矛盾的需求:一方面是標準化和可重用性,避免重復完成相同任務;另一方面是差異化,即輕松定制在不同型號、區域、語言環境等方面的外觀和功能。
為了實現這種平衡,我們可以將UI的外觀和底層邏輯分離,這遵循了模型-視圖-控制器(Model-View-Controller)的軟件設計模式。大致而言,在應用的行為和功能邏輯保持不變的情況下,UI元素的外觀可以根據不同的需求輕松定制。比如說,應用程序的連接和通信功能可以在所有設備上統一定義。而按鈕和控制元素的布局和外觀可以在不同的場景中靈活調整,還可以隨時新增新主題等。
UI框架能夠創建抽象的原子級UI基本構件,這些構件可在不同的邏輯工作流和平臺中使用。因為每個原子都由特定的代碼部分定義,所以可以將它們方便地組合成更大的構建模塊或者模板,從而定義出更復雜的UI元素和功能,適用于各種應用場景和產品系列,實現一致的功能。同時,UI框架還包含了可以輕松定制和區分不同產品型號外觀的工具,滿足不同的設計模式和用戶體驗需求。
從工作流程和生產效率的角度來看,通過創建外觀和邏輯分離的模板,高級開發者可以交付高度優化的現成軟件組件,這些組件內置了最佳編碼實踐,確保功能穩定、可移植性和與其他組件的兼容性。這使得即使初級開發者也能遵循預設要求輕松使用和定制這些模板,提升生產力,降低出錯的可能。
一個支持創建和輕松定制模板的UI框架,能讓高級軟件開發者與技術美術師/前端開發人員在同一代碼庫上并行工作,從而在質量、效率和成本方面帶來顯著優勢。
展開 
新版本,新體驗 | SYNOPSYS UI-Plus 版本 2.001.2,經典版本 16.011.2 更新
幫助手冊新增章節“對于 Ui-Plus 的用戶手冊”。點擊“Ui-Plus工作區概覽”一節來快速查看,或者點擊下面的視頻預覽新界面的強大功能。
在市場動蕩時期保持領先:釋放以用戶為中心的UX/UI潛力的力量
目前,UI/UX和產品開發領域中出現了哪些熱門趨勢?下面我們來了解一下。
雖然宏觀經濟挑戰和地緣政治形勢對產品開發帶來了一定的負面影響,但隨著用戶需求的不斷提高,UI/UX創新的機會也在不斷增加。制造商們需要保持警惕,以應對這些趨勢的變化。那么,當前有哪些趨勢正在改變呢?嵌入式系統市場如何應對?企業在尋求業務增長時的重點又是什么呢?
目前,針對XR和機器學習到元宇宙和超個性化等多個領域的投資仍然十分強勁。據
Qt Group委托Censuswide進行的一項調查
顯示,超過四分之一(28%)的250家嵌入式設備制造商在過去12個月中將超過一半的產品開發預算投入到了UI/UX改善上。
英國是唯一一個投資下降的地區,可能與經濟不確定性和能源危機有關,但在美國、法國和德國地區的開發預算呈增長趨勢。調查的受訪者還表示,他們正面臨不同國家的不同標準、專業知識成本和消費者興趣匱乏等問題。
盡管供應鏈中斷對產品開發帶來了影響,但設備制造商們仍堅持以創新為重,競相招賢納才,以提供頂尖的UI/UX,從競爭對手中脫穎而出。
對實時連接和交互性的需求
在多個行業的產品開發中,連接性和交互性一直是非常重要的影響因素。根據調查結果,40%的受訪者表示這兩個因素將對產品開發產生最大的影響。然而,實現交互性一直是原始設備制造商(OEM)和客戶之間的一個緊張點,因為他們需要一個統一的標準來確保設備之間的兼容性。
目前,蘋果、谷歌和亞馬遜等大型科技公司已經加入了
Matter標準
。這個開放源代碼協議可以提供一種簡單的解決方案,以實現設備之間的無縫集成。
展開 從Qt UI到后臺線程:戴西CAD轉換器源碼全流程技術分析
UI模塊
使用 .ui 文件定義界面布局,支持工具欄、按鈕、進度條、表格視圖等組件,界面風格簡潔實用。
支持自定義字體圖標(IconFont、NewFont),提升視覺體驗。
實現無拖拽分割器(NoDragSplitter),保證界面穩定性。
2. 任務管理模塊
使用 QStandardItemModel 和 QTableView 實現任務列表的動態展示。
支持右鍵菜單操作(開始、停止、刪除),并通過信號槽機制與后臺交互。
支持多任務并發管理,通過 QThread 和 GenWorker 實現后臺任務調度。
3. 格式轉換引擎
核心轉換邏輯由 DaicyConvert 和 GenWorker 類實現,支持多種CAD格式的讀取與寫入。
通過 ProgressReporter 實時反饋轉換進度,支持進度條更新。
支持自定義輸出目錄(通過 Setting 對話框配置),默認路徑為用戶文檔目錄。
4. 數據存儲與輸出模塊
轉換后的文件以 .dfx 格式輸出,為JSON結構,便于后續解析與可視化。
支持文件讀寫操作(writeJSON、loadTextFile),保證數據持久化。
5. 授權與配置模塊
支持通過 license 文件夾配置授權文件,支持環境變量 DLM_LICENSE。
Linux版本支持通過 config.ini 配置輸出路徑。
三、技術優勢
1. 跨平臺支持
同時支持Windows與Linux,滿足不同用戶部署環境需求。
2. 多格式兼容性強
支持包括CATIA、NX、SolidWorks、STEP、IGES、Revit等20余種主流CAD格式,覆蓋設計與仿真全流程。
3.
展開 解放雙手 - Android 開發應該嘗試的 UI 自動化測試
我們可以添加appcompat依賴對比一下:
implementation 'com.android.support:appcompat-v7:28.0.0-beta1'或implementation 'androidx.appcompat:appcompat:1.0.0-beta01'123
可以看到詳細變化
??
同時我們看到viewpager、swiperefreshlayout、 coordinatorlayout 等一些UI組件被分離了出來,這樣也是便于更好的使用,職責分明,以減輕不使用ProGuard 或 Multidex的應用程序和測試的壓力。
3.影響
官方博客中有說道,為了給開發者一定遷移的時間,所以28.0.0的穩定版本還是采用android.support。但是所有后續的功能版本都將采用androidx。
其實對于我們影響也不是很大,我們可以選擇不使用,畢竟不是強制的。但長遠看來還是有好處的。接受變化,擁抱變化也是我們程序猿需要有的精神,歡迎嘗試。
對于有寫一些開源項目的人,可能會有一些影響。比如你有一個關于RecyclerView的拓展庫,那么你就需要去讓他支持AndroidX,否則你懂的。
我有去看了一下我們常用的butterknife、glide 等都已經適配了AndroidX,不得不說真是很良心。
4.遷移
如果一個一個去替換當然很麻煩了,所以在Android Studio 3.2 Canary中添加了一鍵遷移的功能Refactor -> Migrate to AndroidX。
首先你的gradle版本至少為3.2.0以上,以及compileSdkVersion為28以上。
展開 Cadmatic加載自定義選項卡并執行腳本
2>創建文件夾目錄放入文件
在項目根目錄下(項目名稱.pms) 找到site文件夾,打開后創建local文件夾,然后在local文件夾下創建custum_ui 和icon文件夾,將寫好的Custum UI文件放入custum_ui 中;將需要引用的圖標文件放入icon中;注意圖標文件名稱要和Custum UI文件里面Image的屬性值一致。
創建完成后打開軟件,就會發現我們定義好的選項卡及腳本文件已經導入進來了。
以上就是建立功能區選項卡并引用腳本文件的方法,各有特點,但核心都是寫Custum UI文件。希望在工作中能幫助到大家。
本文來自:Easy cadmatic
展開 Claude 和 Codex 在審計 Skill 上性能差異探究
, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", Ubuntu, Cantarell, "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; font-variant-ligatures: normal;">正是在這樣的行業痛點下,AI代碼審計工具應運而生。
展開 干貨|開關電源設計的各項指標、概念和定義
絕對穩壓系數
A.絕對穩壓系數:表示負載不變時,穩壓電源輸出直流變化量△U0 與輸入電網變化量△Ui 之比。即:K= U0/ Ui 。
B.相對穩壓系數:表示負載不變時,穩壓器輸出直流電壓 Uo 的相對變化量△Uo 與輸出電網 Ui 的相對變化量△Ui之比。即:S= Uo/Uo / Ui/Ui
2. 電網 調整率
它表示輸入電網電壓由額定值變化±10%時,穩壓電源輸出電壓的相對變化量,有時也以絕對值表示。
3. 電壓穩定度
負載電流保持為額定范圍內的任何值,輸入電壓在規定的范圍內變化所引起的輸出電壓相對變化△Uo/Uo(百分值),稱為穩壓器的電壓穩定度。
七. 輸出欠壓保護
1. 負載調整率(也稱電流調整率)
在額定電網電壓下,負載電流從零變化到最大時,輸出電壓的最大相對變化量,常用百分數表示,有時也用絕對變化量表示。
2. 輸出電阻(也稱等效內阻或內阻)
在額定電網電壓下,由于負載電流變化△IL 引起輸出電壓變化△Uo,則輸出電阻為Ro=| Uo/ IL| 歐。
八.
展開 
在Qt Design Studio中使用3D圖形及視覺效果
在這里,通過來自設計的視覺效果和來自汽車傳感器的數據,UI應用程序變得栩栩如生。
設計與開發
當在Qt Design Studio中導入3D圖形資源時,沒有任何細節丟失,設計保持完整,看起來與在3D內容創建工具中完全相同。
Technical Artist能夠利用Qt Design Studio中所有的工具,通過添加狀態、過渡和屬性綁定將視覺內容(設計、預置控件、紋理、光線)轉換為真正的UI應用程序。
所有這些操作都可以通過單擊并將屬性拖放到模型上直觀地實現,而不需要編寫任何代碼。同時,在Qt Design Studio中創建的UI會自動轉換為QML代碼。在任何時候,用戶都可以自由選擇是在圖形化更改UI還是編輯代碼。這兩種表現形式是實時同步的,因此對其中一種表現形式的任何更改都會立即反映到另一個當中。這種調動代碼的能力為后端開發者鋪平了道路,他們可以使用與設計師相同的工具來處理UI的其他方面,如數據集成和測試。
讓設計師和開發者能夠在同一個工具上一同協作,不僅能夠確保從原型設計到部署都能保留UI引人注目的外觀,而且還確保了用戶體驗在后端得到了優化,并符合UX設計師最初的計劃。
打造驚鴻一瞥的亮點
強大的3D圖形在汽車應用中存在豐富而重要的用例,并增加汽車品牌的聲望。Qt Design Studio為基于物理的渲染(PBR)提供了完全支持,以與標準材料模型完全兼容。遵循PBR標準大幅簡化了導入3D資源的任務,因為它確保了模型在Qt Design Studio中的外觀與在內容創建工具中的完全相同,而不需要為不同的表面類型創建自定義著色器。PBR還支持訪問在線可用的數千個3D模型,它們可以根據UI應用程序的需求使用和定制。但Qt Design Studio所能做的遠不止于此。
光、陰影和反射對于創建逼真的3D場景是必不可少的。
展開 C++ Qt開發:TableView與TreeView組件聯動
delete ptr;}
接著來看下子對話框DialogSize做了什么,在對話框代碼中rowCount()是給主窗體調用的函數其功能是獲取到當前對話框中spinBoxRow組件中的數值,而columnCount()同理用于得到spinBoxColumn組件中的數值,最后的setRowColumn()則是用于接收主窗體的船只,并設置到對應的子對話框上的SpinBox組件內,其代碼如下:
DialogSize::DialogSize(QWidget*parent) :QDialog(parent),ui(new Ui::DialogSize){ ui->setupUi(this);} DialogSize::~DialogSize(){ delete ui;} // 主窗體調用獲取當前行數int DialogSize::rowCount(){ return ui->spinBoxRow->value();} // 主窗體調用獲取當前列數int DialogSize::columnCount(){ return ui->spinBoxColumn->value();} // 設置主窗體中的TableView行數與列數void DialogSize::setRowColumn(introw, int column){ ui->spinBoxRow->setValue(row); ui->spinBoxColumn->setValue(column);}
運行程序,并點擊左側第一個按鈕,此時我們可以將表格設置為6*6的矩陣,如下圖所示:
DIalogHead.ui
對于第二個按鈕on_pushButton_2_clicked的功能實現與第一個按鈕完全一致,該按鈕主要實現對父窗體中TableView
展開 干貨|開關電源設計各項指標、概念和定義詳解
絕對穩壓系數
A.絕對穩壓系數:表示負載不變時,穩壓電源輸出直流變化量△U0 與輸入電網變化量△Ui 之比。即:K= U0/ Ui 。
B.相對穩壓系數:表示負載不變時,穩壓器輸出直流電壓 Uo 的相對變化量△Uo 與輸出電網 Ui 的相對變化量△Ui之比。即:S= Uo/Uo / Ui/Ui
2. 電網 調整率
它表示輸入電網電壓由額定值變化±10%時,穩壓電源輸出電壓的相對變化量,有時也以絕對值表示。
3. 電壓穩定度
負載電流保持為額定范圍內的任何值,輸入電壓在規定的范圍內變化所引起的輸出電壓相對變化△Uo/Uo(百分值),稱為穩壓器的電壓穩定度。
二. 負載對輸出電壓影響的幾種指標形式
1. 負載調整率(也稱電流調整率)
在額定電網電壓下,負載電流從零變化到最大時,輸出電壓的最大相對變化量,常用百分數表示,有時也用絕對變化量表示。
2. 輸出電阻(也稱等效內阻或內阻)
在額定電網電壓下,由于負載電流變化△IL 引起輸出電壓變化△Uo,則輸出電阻為Ro=| Uo/ IL| 歐。
三. 紋波電壓的幾個指標形式
1. 最大紋波電壓
在額定輸出電壓和負載電流下,輸出電壓的紋波(包括噪聲)的絕對值的大小,通常以峰峰值或有效值表示。
2.
展開 谷歌官方詳解 Android 12L:更好地適配大屏幕設備
更輕松地針對大屏幕設備進行構建
1)設計過程中始終考慮大屏幕模式:
支持自適應 UI 的第一步是優化應用,以便應用在小屏幕和大屏幕上都能表現出良好的性能。谷歌制定了新的 Material Design 指南,幫助應用的 UI 適配各種屏幕。
▲ Material Design 指南中的自適應 UI 模式
2)利用新的導航組件構建響應式 UI:
為了向用戶提供最佳的導航體驗,谷歌希望開發者提供針對用戶設備窗口尺寸類量身定制的導航界面。推薦的導航模式包括適用于緊湊屏幕的導航欄,以及適用于中等屏幕寬度的設備類和更大屏幕設備 (600dp 以上) 的導航欄。對于屏幕更寬的設備,Material Design 指南中提出了幾個有關大屏幕布局的方案,例如可以使用 SlidingPaneLayout 來實現列表/細節結構。
3)使用 Compose 更加輕松地適應屏幕的變化:
Compose 是一個聲明式 UI 工具包;所有的 UI 都是用代碼描述的,而且該工具包可以輕易地在運行時確定 UI 應該如何適應可用的尺寸。因此,Compose 特別適合用于開發自適應 UI,因為其能夠輕松地處理不同屏幕尺寸或組件的 UI 變化。
4)使用 WindowManager API 構建響應式 UI:
Jetpack WindowManger 庫采用向后兼容的方式來處理應用中的窗口,并為所有設備構建響應式 UI,新增了 Activity embedding、窗口尺寸類 (Window Size Classes) 、感知折疊的 API。
展開