2011-02-03 52 views
5

我們的桌面應用程序需要在Mac,Windows和Linux上運行。這就是我們選擇Qt的原因。之前,我們有三個獨立的代碼庫用於這3個平臺。Qt:哲學UI設計困境

在舊的實現中,我們用Close,Minimize,Maximize按鈕繪製了我們自己的「窗口標題」。它在所有三個平臺上看起來都一樣。

這一次,我不太確定。我想讓Qt爲每個平臺使用任何默認的標題和標題按鈕,矩形的「X」,「_」窗口按鈕,Mac上左手邊的圓形按鈕,以及Linux/Ubuntu等的其他內容。

這是一個明智的決定嗎?推動我的一個事情是,我必須爲我正在編寫的窗口類,拖動代碼,按鈕工作以及編寫自己的Windows標題所帶來的其他內容編寫調整大小的代碼。

我注意到如果我使用這個,「Qt :: FramelessWindowHint」來刪除標題,我會自動失去我的調整擒抱。有沒有辦法解決這個問題?另外你會如何去實現你自己的窗口拖動代碼? (讓你知道你想要用作「可拖動標題」的區域,好像我需要在該區域捕捉按鈕,進入拖動模式,跟蹤鼠標移動並根據增量移動窗口。類似的調整大小我以前在其他平臺上做過,但我想問問Qt是否有一種機制允許我「開箱即用」?

回答

11

我想讓QT使用任何每個平臺默認的標題和標題按鈕

請做到這一點。作爲一個Mac用戶,幾件事情是比應該到處看看相同的「通用」界面更加混亂。在Windows風格界面confusin G。 Mac Style界面是我習慣的和我想要的。

如果您必須編寫(並維護和支持)更少的代碼,那更好。

只要儘可能地與「本地」。寫儘可能少的代碼。

+0

聽到了!任何給定窗口系統的用戶都有他們習慣的外觀和感覺(以及位置)。任何與此相背離的情況都會使他們不得不更加努力地弄清楚如何執行他們想要的操作,從而使應用程序感覺難以使用。正如這個答案所提到的:更少的編碼和支持總是一件好事。 – 2011-02-03 20:20:40

0

我認爲應用程序應該遵循操作系統的UI設計,這種工具的外觀和感覺與其他操作系統相似。通常,當在所有三個主要平臺上使用完全相同的用戶界面創建應用程序時,它與OS中運行的其他應用程序感覺不一樣。

例如,Apple對自己的UI設計非常嚴格,因此mac用戶希望工具能夠以特定的方式工作。

這也適用於快捷鍵,這可能是最難的部分,因爲OS X,Linux和Windows在快捷鍵中有自己的模式,找到合適的組合並不總是很容易。

1

我的建議是讓每個應用程序看起來和它所運行的平臺都是原生的。原因很簡單:用戶選擇特定的平臺是有原因的。他或她喜歡它的外觀和工作方式。

這當然是例外。對於不使用窗口,對話框和許多控件的全屏應用程序,在所有支持的平臺上進行烹飪並使其看起來完全相同即可,甚至是可取的。但對於普通的窗口應用程序,更好地堅持原生UI準則。