2010-02-21 9 views
6

Tôi đã nhận thấy rằng GTK có cảm giác đồng nhất trên tất cả các nền tảng, rất tuyệt vời cho những người yêu thích Linux, nhưng không tuyệt vời như vậy đối với những người thích giao diện GUI gốc của họ.Thư viện GUI nền tảng nào có cảm giác bản địa nhất cho mỗi nền tảng?

Tôi chưa sử dụng đúng cách, đó là lý do tại sao tôi không thể nói rằng đây là lựa chọn tốt nhất để mang lại cảm giác bản địa nhất cho mỗi nền tảng - vì vậy ai đó có thể vui lòng xác nhận xem sau?

Trả lời

1

Vâng, tôi tin là vậy. Qt cố gắng phải làm theo cái nhìn tự nhiên &. Không chỉ làm thế nào các widget nhìn, mà còn những thứ như thứ tự nút, vv Tất nhiên việc xây dựng một ứng dụng thực sự tuân thủ tất cả các quy ước UI gốc sẽ khó khăn (ví dụ, thiết kế giao diện người dùng Mac rất khác với Windows), nhưng Qt sẽ giúp bạn rất nhiều với nó.

1

Tôi không có kinh nghiệm với Qt, nhưng SWT có giao diện bản địa và cảm nhận cho các nền tảng chính nhờ vào thực tế nó gửi thư viện gốc để thực hiện công việc. Chúng tôi đã sử dụng nó để tạo các trình cắm thêm Eclipse cho các dự án khác nhau của chúng tôi.

7

Tôi nghĩ rằng Qt là một lựa chọn tuyệt vời để có giao diện bản địa.

Trên Windows XP, các tiện ích sẽ được hiển thị theo kiểu Luna (kiểu mặc định của Windows XP). Trên Vista/7, chúng sẽ được hiển thị với chủ đề Aero. Trên MacOS, chúng sẽ được hiển thị với chủ đề Aqua.

Trên Linux, nó khác. Qt sẽ sử dụng chủ đề của riêng mình (phong cách Plastique) hoặc sử dụng chủ đề KDE của bạn (chủ đề oxy chẳng hạn). Nếu bạn thích GNOME hoặc XFCE (GTK), Qt cũng có thể sử dụng chủ đề GTK của bạn.

alt text

ứng dụng A Qt có thể được tích hợp một cách hoàn hảo trong Windows XP/Vista/7, hệ điều hành MacOS, KDE, GNOME và desktop XFCE.

+0

Sẽ mất một số công việc để có được OS X ngay với Qt. Điều đó nói rằng, nó có thể được thực hiện. –

+0

Bạn có nghĩ rằng Qt là tốt hơn so với Wxwidgets, hoặc cả hai đều có thế mạnh riêng của họ? Tôi có cảm giác rằng Qt có thể dễ sử dụng hơn. –

+1

Xin lỗi, tôi chưa từng sử dụng WxWidgets. Bạn có thể nhận được một số thông tin về Wx và Qt: http://wiki.wxwidgets.org/WxWidgets_Compared_To_Other_Toolkits#Qt – Desintegr

6

Wxwidgets sử dụng nền tảng cơ bản để vẽ các tiện ích (GTK dưới Linux, MFC trong Windows ...), do đó, không chỉ có vẻ bản địa, nhưng nó được!

Chỉnh sửa - Đối với Mac, wxWidgets sử dụng Carbon và hiện đang chuyển sang Cocoa cho 3.0.

Chỉnh sửa2 - Tôi không tự mình sử dụng QT, nhưng những người xung quanh tôi đã sử dụng nó rất thích nó. Về ứng dụng QT mà tôi đã sử dụng trong Windows, tôi đã cảm thấy kém bản địa hơn, với sự tích hợp kém hơn với máy tính để bàn, nhưng nó có thể chỉ là sự phản xạ của các kỹ năng phát triển cụ thể này.

Mặc dù wxWidgets có quirks (hơi kém tích hợp trên các sự kiện STL, MFC, đôi khi khó nắm bắt các tùy chọn hộp, giới hạn wxGrid ...), chúng đang được thực hiện và hệ thống ngày càng tốt hơn (Các widget wxAUI docking mới thật tuyệt vời).

Cuối cùng, wxWidgets đã được cải thiện đáng kể khi tôi không cần đến nó, cho phép tôi sử dụng chính xác những gì tôi muốn và không có gì khác. Tôi đã cho ví dụ có thể cắm cực kỳ dễ dàng mã socket của riêng tôi vào hệ thống sự kiện.

Cảm giác của tôi là wxWidgets và QT là khá nhiều so sánh, và đi đến một hoặc khác sẽ chủ yếu là về phù hợp với người.

+0

Điều gì về Mac OS? –

+0

Tôi hỏi Desintegr về Qt vs Wxwidgets; tương tự như vậy tôi cũng muốn bạn giúp tôi chọn câu trả lời đúng. Cảm ơn. –

1

WxWidgets và Qt đều nhìn ngay trên OS X, nhưng không hoạt động đúng trừ khi bạn thực hiện thêm một chút công việc, vì tích hợp HĐH thích hợp trên OS X cũng yêu cầu bạn phải lấy AppleScript cơ bản đúng; OS X sử dụng chúng cho nhiều hành động GUI hệ thống phổ biến, vì vậy bạn cần chúng để có được (ví dụ) kéo và thả vào biểu tượng dock của bạn hoạt động.

2

Ngoài Qt và WxWindows từ một phương tiện chặn, tôi sẽ sử dụng WxWindows - đơn giản vì nó sử dụng các điều khiển gốc giúp bạn hỗ trợ tốt hơn trên các nền tảng trong tương lai.

tôi đến quyết định này bởi quá trình không khoa học như sau:

  • Đánh giá danh sách các ứng dụng được xuất bản và chọn những người trông giống như một cái gì đó hầu hết có nguồn gốc
  • VLC Media player vs FileZilla - đôi khi với tôi VLC cảm thấy kỳ quặc trong khi tôi thậm chí không nhận ra rằng FileZilla đã được viết bằng WxWindows.
  • 5 trong số alleged top 32 ứng dụng sử dụng WxWindows.

Đối với tôi, ở trên là dễ dàng đủ để đi với WxWindows như là một lựa chọn đầu tiên và xem nơi tôi kết thúc sau một thời gian.

Đáng nói rằng tôi đã làm rất nhiều XAML và vì vậy tôi chắc chắn sẽ xem xét sử dụng XUL thay thế; vì nó đẹp hơn rất nhiều để có được bố trí ra khỏi mã.

Cách đây một năm, tôi đã phát triển một ứng dụng bằng cách sử dụng ZincApplicationFramework rất đáng sợ và chết chóc - lớp này tự kiểm soát ontop giống như Qt. Thật đáng sợ và tôi đã dành nhiều thời gian rối tung với các nội bộ để làm cho nó hoạt động ngay trong Windows. Điều này làm cho tôi thành kiến, hoặc ít hoài nghi về bất cứ thứ gì có cùng cách tiếp cận, vì ngay sau khi dự án này kết thúc, tôi đã sử dụng Allegris C++/Views để tạo một ứng dụng khác, và điều này tốt hơn nhiều vì nó là một lớp rất mỏng phía trên các điều khiển gốc - điều đó có nghĩa là mọi việc dễ dàng và hiệu quả hơn rất nhiều.

Vì vậy, tôi có thể có một sở thích đối với lớp mỏng và kiểm soát nguồn gốc ....

1

Cá nhân tôi thích Qt trên wxWidgets bởi faaarrrr. wxWidgets 'API chỉ cảm thấy giống như một MFC ... nhiều quá vụng về cho ý thích của tôi. Qt, mặt khác, là rất gần với những gì viết ứng dụng trong C++ hiện đại nên được như thế, chưa kể đến QtDesigner tuyệt vời của nó (okay, wxWidgets có wxFormBuilder, nhưng lần trước tôi đã kiểm tra nó không ở bất kỳ đâu tốt bằng QtDesigner).