我正在開發一個輕量級的GUI工具包。它被設計成在X11(xlib),Win32以及其他可能支持非常基本的GUI的系統中易於移植。什麼是GUI工具包更好的體系結構?
據我所知,主要有兩種可能的架構:
要使用操作系統提供窗口服務 - X11在Linux和正常的Windows在Win32中。在這種方法中,每個控件都是與其父對象相同的窗口對象。它接收來自操作系統的事件並對其進行處理,並擁有自己的繪畫表面等。
使用操作系統提供的窗口僅用於頂層窗口 - 主應用程序窗口,對話框等。所有子窗口都是簡單的畫在其父窗口的表面上。在這種情況下,工具箱必須管理父子關係,事件只能由主窗口接收並且必須分派給控件。
什麼變種使用廣泛的GUI工具包? Qt的? wxWidgets的? FLTK?其他?他們爲什麼選擇這種方法?
這兩個變體如何與結果GUI工具包的大小和速度相關?
的問題是編輯。 – johnfound
喜歡第一個原因的原因是*非常難以獲得原生控件的所有細微差別。例如,發光效果懸停。即使是Qt,經過了所有的開發工作,在Windows或OS X(它使用第二種方法)上都無法正確使用它們。所以不,第一個遠沒有過時。但第二個確實有一些優勢,比如給你最終控制權的方式。 –
這個問題已經最小化了,希望能夠重新開放。 :) – johnfound