2008-08-30 11 views
13

Tôi có một dự án GUI lớn mà tôi muốn chuyển sang Linux. Khung được khuyến nghị nhất để sử dụng cho lập trình GUI trong Linux là gì? Các khung như KDE/Gnome có thể sử dụng được cho mục tiêu này hay là tốt hơn để sử dụng một cái gì đó chung chung hơn X?Phát triển GUI Linux

Tôi cảm thấy như tôi đã chọn một trong Gnome hoặc KDE, tôi đang đóng cửa thị trường cho một đoạn của thị trường Linux đã chọn một trong những khác. (Có, tôi biết có chồng chéo)

Có cách nào tốt hơn không? Hoặc tôi có phải tạo ra 2 ứng dụng GUI hoàn chỉnh để có mức độ phủ sóng gần 100% không?

Không cần phải có giải pháp đa nền tảng cũng sẽ hoạt động trên Win32.

Trả lời

15

Đặt cược tốt nhất của bạn có thể là chuyển nó vào thư viện tiện ích đa nền tảng như wxWidgets, tính năng này sẽ mang lại cho bạn khả năng di động đối với mọi nền tảng mà wxWidgets hỗ trợ.

Điều quan trọng là phải phân biệt giữa các thư viện Gnome và GTK, cũng như các thư viện KDE và Qt tương tự. Nếu bạn viết mã để sử dụng GTK hoặc Qt, nó sẽ làm việc tốt cho người dùng của bất kỳ môi trường máy tính để bàn, bao gồm cả những người ít phổ biến như XFCE. Nếu bạn sử dụng các thư viện Gnome hoặc KDE cụ thể khác để thực hiện các tác vụ không liên quan đến tiện ích con, ứng dụng của bạn sẽ kém di động hơn giữa các môi trường máy tính để bàn.

+0

Tôi đã sử dụng wxPython để triển khai GUI. Cả Python và wxWidgets đều có thể di chuyển trên tất cả các nền tảng chính và với các ứng dụng wxWidgets trông "gốc". Rõ ràng (tôi chưa bao giờ thử nó) PY2EXE làm việc với wxPython. – CyberFonic

+0

2 năm sau, tôi gặp phải vấn đề tương tự như OP; đây là câu trả lời hợp lý đầu tiên tôi đọc. Có gì thay đổi trong thời gian chờ đợi không? – slashmais

4

Ứng dụng Gnome hoạt động trên máy tính để bàn KDE và ngược lại; bạn sẽ không khóa ai cả. Theo như bộ công cụ đi, nó khá chủ quan. Tất cả các bộ công cụ đều khá đa nền tảng. Nếu bạn không phải là nguồn mở, thì GTK + sẽ là lựa chọn rẻ hơn, vì Qt chỉ miễn phí cho việc sử dụng nguồn mở, trong khi GTK + là LGPL.

+5

Cập nhật: ngày nay cũng Qt là LGPL: http://www.qtsoftware.com/about/licensing/frequently-asked-questions – Jonik

+0

Thật vậy. Đó là một cải tiến lớn so với tình hình trước đó. – Bernard

0

Bạn có nghĩ đến việc sử dụng Mono không? Các chương trình như Paint.NET hoạt động tốt dưới Linux & Windows.

5

Tôi khuyên bạn nên wxWidgets hoặc Qt. Cả hai đều là trưởng thành, có cấu trúc tốt và đa nền tảng, với tài liệu phong nha và mã nguồn mẫu.