2010-08-30 28 views
10

Tôi đang làm việc trên một ứng dụng mà tôi cần phải là nền tảng chéo. Tôi muốn sử dụng Python cho nó, và đang tìm kiếm các bộ công cụ GUI giúp lập trình giao diện đơn giản và dễ dàng. Sau một cuộc săn lùng nhỏ, tôi tìm thấy PythonCard. Điều này có vẻ như nó phù hợp với các hóa đơn hoàn hảo, nhưng tôi không chắc chắn nếu nó sẽ có thể biên dịch này xuống một thực thi thích hợp cho mỗi hệ điều hành. Tôi đã tìm thấy hướng dẫn these nhưng họ đã 6 tuổi.Có thư viện GUI cho Python cho phép bạn biên dịch sang EXE (cửa sổ) và APP (Mac) không?

Dù giải pháp tôi chọn phải hỗ trợ như sau:

  • Viết một GUI để làm việc trên cả Windows và Mac OSX
  • Phải 'biên dịch' vào một tập tin một cách dễ dàng phân phối nào cho cả Windows/Mac
  • Tệp đã biên dịch không được yêu cầu cài đặt Python trên máy tính của người dùng

Có thể ai đề xuất thư viện/giải pháp trước khi tôi phải lội vào thế giới hoang vắng của Java không?

Trả lời

4

Tôi nghĩ câu trả lời ở đây ít hơn về bộ công cụ GUI cụ thể và nhiều hơn nữa về phân phối các ứng dụng python độc lập. Cá nhân, tôi đã tìm thấy các công cụ cho điều này một chút ít hoàn hảo hơn tôi muốn nhưng, sau khi một số finagling, họ nhận được công việc làm. Ứng cử viên có khả năng nhất phù hợp với nhu cầu của bạn là cx_Freeze. Mặc dù có một Windows cụ thể py2exe và máy Mac cụ thể py2app có thể lấp đầy hóa đơn nếu cx_Freeze không đủ.

+0

Bạn đã thử cx_freeze chưa? Khi chúng tôi quyết định, chương trình nào để sử dụng, chúng tôi phải đối mặt với một số khó khăn trong khi cố gắng đóng gói python ràng buộc của thư viện C++/Qt của chúng tôi vào tập tin cuối cùng. Có thể, chúng tôi không cố gắng hết sức, nhưng Py2Exe hoàn hảo và đơn giản :) –

+0

Thành thật mà nói, không. Tôi không có. Một số lần tôi cần triển khai một ứng dụng python độc lập chỉ có trên Windows và tôi sử dụng py2exe. Đó là vài năm trước đây mặc dù và tôi đã không có nguyên nhân để xem lại vấn đề để xem những gì thay đổi. – Rakis

4

Sử dụng PyInstaller để phân phối ứng dụng bằng bộ công cụ guQt hoặc WxPython gui. Từ trang web:

PyInstaller là một chương trình chuyển đổi (gói) chương trình Python vào thực thi độc lập, hệ điều hành Windows, Linux, và Mac OS X.

Đối với bộ công cụ gui, PyInstaller is documented để làm việc với Qt3, Qt4 và WxPython.

StackOverflow đóng góp dF, uses PyInstaller "cho một ứng dụng phụ thuộc vào PyQt, PyQwt, numpy, scipy và một vài thứ khác."

0

Hmm.

Có thể nên chuyển bài đăng của tôi thành nhận xét, nhưng. Tại sao bạn muốn 'biên dịch' mã python, và tại sao bạn nghĩ rằng một số khung công tác GUI nên cung cấp một số cơ sở đóng gói/cài đặt?

Trong công ty chúng tôi, chúng tôi đã viết ứng dụng GUI đa nền tảng và tất nhiên chúng tôi phải làm cho nó dễ dàng phân phối cho khách hàng. Vì vậy, chúng tôi đã tìm thấy khung giao diện phù hợp với các ràng buộc python (Qt), sau đó chúng tôi đã chọn phương pháp ẩn các chi tiết không cần thiết về việc thực hiện và biến mất các phụ thuộc (Py2Exe cho Windows, Py2App cho Mac, và không có gì cho Linux, nhưng bạn có thể thử PyInstaller hoặc cx- Đông cứng).

Cài đặt cho mọi hệ điều hành được thực hiện theo cách của hệ điều hành đó, theo nguyên tắc ít gây ngạc nhiên nhất. Đó là lý do tại sao chúng tôi không gói phiên bản Linux trong một số loại tệp thực thi nhị phân.

0

Nếu bạn muốn ứng dụng của mình trông và cảm thấy có nguồn gốc, thì wxPython là cách để đi. PyQt có thể trông có vẻ bản địa, nhưng nó không có vẻ như nó luôn luôn hoạt động theo cách riêng (theo một số chủ đề tôi đã đọc).Để xây dựng những chương trình, sử dụng py2exe hoặc một số ví dụ cho Windows và py2app cho Mac

0

Đối với wxPython GUI nhà thiết kế check this question. Tôi breifly cố gắng boa-contstructor nhưng tôi thấy nó quá hạn chế-không phải tất cả các vật dụng được hỗ trợ. AFAIK không ai trong số các nhà thiết kế wxpython hỗ trợ tất cả các widget (ra khỏi hộp ít nhất).

Cá nhân tôi tìm thấy mã giao diện người dùng của tôi nhanh hơn và dễ dàng hơn. Id nói rằng nó chỉ mất một vài ngày để trở thành wxpython thoải mái/familar hợp lý. Nếu bạn cần phải làm bất cứ điều gì khác sau đó tạo ra một ứng dụng đơn giản sau đó dành một chút thời gian để tìm hiểu wxpython sẽ trả cổ tức của nó.

Nếu ràng buộc của bạn với ý tưởng của việc có một nhà thiết kế gốc GUI sau đó đặt cược tốt nhất của bạn là probabaly PyQt như IMHO này là bộ công cụ duy nhất mà có một trình soạn thảo trưởng thành vững chắc - Qt Designer

Như để tạo excutables độc Ive chỉ được sử dụng py2exe cho cửa sổ. py2app thực hiện tương tự cho mac mặc dù tôi chưa thử.

Để thanh toán cho trình cài đặt windows this thread

+0

Ah .. Nếu đó là một số diễn đàn ở đây, không phải SO.com ... Một Qwar thánh chiến đấu vs WxWidgets (và có thể handcode vs thiết kế trực quan) sẽ được bắt đầu :) Nhưng. –

+0

cũng may mắn của nó không phải một số diễn đàn sau đó vì nó không phải là ý định của tôi để bắt đầu một thánh !, chỉ để cung cấp ý kiến ​​khiêm tốn của tôi từ kinh nghiệm cá nhân. – volting

Các vấn đề liên quan