2010-08-07 27 views
8

今天我試圖在Cocoa和MacOSX 10.5中實現所有者繪製的菜單項支持。我想到了我打算用於某些其他項目的QT時發現的非常可怕的東西。QT在MacOSX上有一個未來的GUI工具包嗎?

如果我看到它的話,那麼在MacOSX上就沒有QT的未來了,因爲整個外觀管理器在10.5中完全不贊成使用(我甚至找不到公共URL),甚至是「開發人員」顏色列表和NSColor中的顏色「常量」被標記爲不穩定,不使用。

有了這個政策,像QT這樣的工具包就沒有辦法選擇,然後放棄MacOSX支持,這對於蘋果來說更有意義(記住諾基亞是競爭對手)。而蘋果也不在乎放棄Carbon和Java。

所以我錯過了什麼。是否有任何一種可可外觀經理或QT團隊可以使用合理回退的技術?我很害怕在10.7或10.8的外觀可能會非常不同。

並請所有誰想要關閉這個問題爲主觀請考慮我要求圍繞這個問題的解決方案的技術工作。它不是討論好壞,但是如果有辦法解決這個限制。

對我來說,這是一個嚴重的商業決策,如果做錯了,並且相信QT會成爲失敗,那麼很容易就會花費數萬美元。

編輯: 這是一個鏈接告訴我,即使系統顏色不再支持 Accessing System Colors。這是正確的主題變化石墨不會導致顏色列表更改通知。

+0

究竟是什麼問題? Qt的可可版本在10.6上運行。 – andref 2010-08-07 15:26:45

+0

可可版本是什麼意思?僅使用NSView和NSOpenPanel對話框的QT?這完全沒有幫助。可可版本必須使用所有Cocoa小部件,這不是QT背後的概念。NSView與在Windows上使用HWND或在X11上使用Window相同。 – Lothar 2010-08-07 15:36:24

+0

啊,我明白你的意思了。你想知道的是,如果有一種Cocoa替代HITheme(這是Qt用於在裸露的NSView上繪製圖形的東西),以防蘋果將Carbon降爲好(它還沒有,請參閱iTunes)。改變這個問題,讓更多的可可和更少的Qt可能會吸引合適的人。 – andref 2010-08-07 17:23:33

回答

3

我放棄了試圖讓QT看起來很原生。它永遠不會工作,因爲有太多微妙的行爲,沒有任何跨平臺工具包可以模仿到足以愚弄用戶。如果本機應用程序是目標,那麼花點時間爲想要支持的平臺創建本地接口會容易得多。

讓我無法傾倒QT的東西不熟悉Xcode和Objective-C。您可能已經知道這一點,但您可以重命名Xcode中的任何Objective-C(.m)文件以編譯爲Objective-C++(.mm)。這可以讓你鏈接你想要的所有C++代碼,就在你的項目中需要它的地方。

+0

我想,我仍然會使用Qt for Windows工作。它足夠接近,標準較低,並且不太令人沮喪。 – 2010-08-17 20:31:12

+0

你可以放下什麼地方最煩人的微妙行爲。 – Lothar 2010-08-18 01:14:45

+0

@tewha:是的,我認爲是相同的,然後來到Windows Vista,Ribbons,新的對接工具,Word 2007顏色以及MFC Feature Pack中的所有其他內容。我討厭MFC,但我擔心QT不再是原生的了 - 這取決於你正在編寫的應用程序。 – Lothar 2010-08-18 01:17:38