2013-01-17 18 views
5

Tôi đã nghĩ đến việc viết ứng dụng dành cho máy tính để bàn cho Windows/Linux/OS-X. Một yêu cầu của GUI là tôi cần có khả năng tạo kiểu cho nó rất chính xác.GUI nền tảng chéo có kiểu dáng nặng

Đó là: Tôi muốn có thể tô màu tất cả các yếu tố theo cách tôi muốn, vị trí các yếu tố pixel chính xác, có đường viền trên một mặt của một phần tử, v.v. Rất giống với khả năng tôi có khi viết một ứng dụng web có giao diện người dùng trong HTML + CSS.

Tôi đã tìm kiếm xung quanh, nhưng có vẻ như rất khó để tìm một cái gì đó như thế này (+ tài liệu!).

GTK tuyệt vời đã trưởng thành, đa nền tảng và có tài liệu C tốt. Nó có các ràng buộc cho nhiều ngôn ngữ, bao gồm Python 3, là ngôn ngữ của sự lựa chọn của tôi ngay bây giờ. Và mặc dù bạn có thể tạo kiểu cho nó bằng cách sử dụng CSS, cách thức và những gì bạn có thể tạo kiểu là rất hạn chế.

XUL và python có một số ràng buộc bên thứ ba, nhưng họ không nhìn, làm thế nào tôi nên cụm từ nó, cũng được thử nghiệm.

Sau đó, tôi có tùy chọn có một máy chủ python-web-máy chủ chạy cục bộ và ứng dụng đang chạy trong trình duyệt. Nhưng tôi không chắc liệu tôi có nên theo đuổi điều này hay không chỉ là nhà phát triển Web bên trong tôi không muốn tuân thủ.

Về cơ bản, tôi muốn có thể tạo ứng dụng dành cho máy tính để bàn tuyệt đẹp. Tại sao điều đó có vẻ khó khăn như vậy?

Trả lời

2

Dường như với tôi rằng QtQuick là giải pháp tốt cho vấn đề của bạn. Nó được phát triển chủ yếu cho điện thoại di động nhưng có vẻ thích hợp cho các ứng dụng máy tính để bàn.

Nó hỗ trợ rất nhiều giao diện người dùng "hiện đại" với hoạt ảnh và chủ đề tùy chỉnh.

QtQuick sử dụng QML làm ngôn ngữ lập trình, rất giống với JavaScript + HTML. Có một API được gọi là PySide cho phép bạn sử dụng Qt theo cách rất nhiệt tình với Python 3. Nó được cấp phép là LGPL và do đó sẽ tương thích với hầu hết các dự án. Nếu cần có giấy phép thương mại và hỗ trợ, có PyQt.

+0

Tôi không biết về điều đó, tốt đẹp ... –

7

OS-X có giao diện rất khác biệt và khác biệt đối với Windows và ứng dụng có tiện ích con homebrew sẽ cảm thấy khác biệt và thường trở nên kỳ quặc hoặc thậm chí xấu xí. Trong và xung quanh thời gian cho Windows 98 mỗi công ty làm cho có ứng dụng riêng với cái nhìn của riêng mình và cảm nhận. Một cho modem, một cho máy in, một cho các thiết lập đồ họa và vv. Họ có thể không có vẻ xấu trong quyền riêng của họ, nhưng ấn tượng tổng thể khi bạn có một vài trong số đó, pha trộn với cái nhìn và cảm nhận bản địa chỉ là xấu xí.

Vì vậy, có, đó là nhà phát triển web trong bạn muốn điều này. Web là một động vật rất khác với bản địa L & F, người ta đã quen với sự khác biệt, không mạch lạc, ổn định, độ trễ và độ xấu cao ngay từ đầu. Ngọn lửa và nhạc nền. Lời khuyên của tôi là: đừng đến đó trên một ứng dụng bản địa. Sau đó, bạn cũng có thể xây dựng thứ gì đó trên web.

Ứng dụng gốc được sử dụng chủ yếu để đạt được mục tiêu chứ không phải cho giao diện của chúng. Làm những gì bạn muốn làm nhanh (tốc độ là tính năng quan trọng nhất) và không gặp bất kỳ rắc rối nào, làm giảm vẻ ngoài mơ hồ và bạn sẽ có một ứng dụng bản địa tuyệt vời!

Ngoài GTK, bạn cũng có thể cân nhắc sử dụng các bộ công cụ:

others , nhưng không cái nào tôi biết và có thể giới thiệu.

+0

Tôi đồng ý với bạn về thực tế là một ứng dụng sẽ cảm thấy có nguồn gốc và phù hợp với hệ điều hành của bạn. Nhưng kể từ khi tôi đang phát triển một ứng dụng của riêng tôi, tôi sẽ không xây dựng một GUI riêng biệt cho ba nền tảng! Điều đó sẽ dẫn tôi đến GTK, nhưng GTK cung cấp các yếu tố GUI của riêng nó, nền tảng độc lập? –

+0

Bạn cũng nên xem Real Studio (realsoftware.com) như một cách để tạo một ứng dụng đa nền tảng có cùng giao diện đồ họa. –

0

Tôi đồng ý với Jonas. Đừng sáng tạo lại bánh xe, dính vào những gì được thiết lập tốt. Nếu bạn thực sự có nhu cầu để tạo ra một cái gì đó hấp dẫn hơn bạn có thể thử một trong hai

không có điều gì liên quan đến Python, và tôi đặt cược bạn sẽ gặp một số vấn đề với họ, nhưng chúng phải đáp ứng yêu cầu của bạn.

3

Nếu không đi vào ưu và khuyết điểm của việc xây dựng một ứng dụng với giao diện tùy chỉnh, tôi có thể nói rằng Qt với PyQt là rất tùy chỉnh. Bạn có thể chỉnh sửa hầu như tất cả các khía cạnh của giao diện trực quan của các tiện ích bằng cách sử dụng các tờ kiểu giống CSS của Qt.

Nếu bạn muốn xem ví dụ, hãy xem Twyla, công cụ lập trình trực quan của Temboo được xây dựng bằng Python, Qt và PyQt và chạy trên Windows và Mac (và Linux, mặc dù chúng tôi không chính thức hỗ trợ nó). (Công bố đầy đủ: Tôi làm việc cho Temboo.) Bạn phải đăng ký một tài khoản miễn phí để có thể tải xuống, nhưng đây là một ví dụ điển hình về ứng dụng máy tính để bàn đáng kể với kiểu dáng tùy chỉnh.