讓你的 Qt 桌面程序看上去更加 native(一):簡介

《讓你的 Qt 桌面程序看上去更加 native》是一個系列文章。在這個系列中,你將會瞭解到如何讓你的 Qt 桌面應用程序看上去更加 native。這裏,我假設你已經清楚如何使用 Qt 編寫桌面應用程序,因爲文章中大多都是所謂的“細節”,而有時候恰恰是這些“細節”決定着用戶體驗。同時,這裏的程序都是指桌面程序,不包括各個嵌入式平臺。

關於 Qt 的介紹這裏就不再贅述。這裏只說明一點,相比其他的 C++ UI庫,Qt 的處理實際上更類似 Java 的 Swing。Qt 的大部分組件都是由自己的繪圖系統繪製出來的,這一點決定了 Qt 的效率不會像 MFC 或者 wxWidgets 那麼高。同時,也正是由於這一點,使得 Qt 的桌面程序有時候看起來不是那麼原生。

所謂 native,也就是這裏所說的“原生”。任何桌面,Windows、GNOME、KDE、MacOS,都有着自己獨特的風格。這種風格就稱爲 native。通常,獲取一個窗口最最 native 的方式就是調用系統自己的函數,例如在 Windows 平臺上使用 win32 API 創建一個窗口,這個窗口一定是 native 的。同樣,你使用 Gnome 或者 KDE 的 API,也會獲得一個原生的窗口。各個平臺上的窗口組件佈局也是不同的。在 Windows 上,菜單上面的 Help 總是出現在其他菜單項相鄰的位置,菜單欄最右側往往是一片空白。但是在 MacOS 上,Help 菜單是出現在菜單欄的最右側,Help 菜單與其他菜單之間會有一大段空白。這就是兩個平臺的 native 風格的差異。如果你的程序僅僅按照 Windows 平臺上的樣式編寫,MacOS 用戶就會覺得這個程序很山寨。這對於一個真正跨平臺的程序來說是不足的。

現在我們說明,這個系列所做的工作,就是讓 Qt 桌面程序在 Windows、GNOME、KDE 和 MacOS 下都有着同原生程序一樣的效果。當然,有些時候這個目的很難實現,因此,我們只是朝這個努力一下。

在開始正文之前,我們應該知道,實際上,各個平臺都有自己的界面設計指南,告訴你在本平臺上,確定按鈕和取消按鈕究竟誰在前誰在後,應用程序通常字體是什麼,幾號字等等。這些指導性文檔都是可以在網上找到,下面我們列出來供大家參考:

Windows:Windows 用戶體驗交互指南(Windows User Experience Interaction Guidelines)

Apple:Apple 用戶界面指南(Apple Human Interface Guidelines)

GNOME:GNOME 用戶界面指南(GNOME Human Interface Guidelines)

KDE:KDE 用戶界面指南( KDE User Interface Guidelines)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章