Câu trả lời:
Không. Mỗi năm ai đó tạo một thư viện UI Pygame mới và sau đó từ bỏ nó sau một vài phiên bản, có lẽ một khi họ nhận ra rằng việc bố trí nút viết là dễ dàng nhưng viết thư viện UI hoàn chỉnh là công việc thực sự. Các gui
thẻ trên trang web Pygame chép một số trong số này.
Trở lại vào tháng 1 năm 2011, tôi đã xem xét năm bộ công cụ GUI cho pygame và cố gắng để tất cả chúng hoạt động với Python 3. Năm là: Albow, GooeyPy, PGU, pqGUI và sgc.
Tôi đã không thành công với GooeyPy , nhưng tôi đã khiến bốn người kia làm việc với Python 3. (Tôi cũng muốn thử poutine, bởi Shandy Brown, nhưng tôi không thể tìm thấy nó và tôi hoàn toàn bỏ qua Ocemp.)
Thật không may, Albow và Ocemp dường như đã chết khá nhiều. Albow được cập nhật lần cuối vào năm 2009 và Ocemp được cập nhật lần cuối vào năm 2008 (Lưu ý rằng phiên bản của Albow tại pygame.org không phải là phiên bản mới nhất.)
PGU (Tiện ích Pygame của Phil) đã được Peter Rogers tiếp quản và bảo trì, và Victor Kam đã chuyển đổi phần lớn thành Python 3. Nó được cập nhật lần cuối vào tháng 1 năm 2012 và có lẽ đã được cải thiện kể từ khi tôi kiểm tra nó. (Lưu ý rằng phiên bản PGU tại pygame.org không phải là phiên bản mới nhất.)
sgc là mới và vẫn chưa hoàn thiện khi tôi nhìn vào nó. Tuy nhiên, hiện tại nó đang được tích cực phát triển và có thể sẽ được cải thiện rất nhiều. (Lưu ý rằng phiên bản của sgc tại pygame.org không phải là phiên bản mới nhất.)
Tôi đã chạy từng cái trong số năm qua một bộ đếm Dòng mã đơn giản để đánh giá kích thước của chúng:
Đây là những kết quả (vào tháng 1 năm 2011):
Mã Albow min = 2810, max = 4551 (max = 162% số phút) Albow \ demo min = 453, max = 649 GooeyPy \ gooeypy min = 2034, max = 3941 (tối đa = 194% số phút) GooeyPy \ ví dụ min = 178, max = 351 pgu \ pgu min = 2910, max = 7047 (tối đa = 242% số phút) bao gồm pgu \ pgu \ gui min = 1678, max = 4638 (tối đa = 276% số phút) pgu \ ví dụ min = 822, max = 2527 pqGUI.py min = 1586, max = 1834 (tối đa = 116% số phút) Ví dụ: min = 178, max = 225 sgc (không đầy đủ) min = 889, max = 1243 (max = 140% số phút)
Trong mỗi trường hợp, số "min" đại diện nhiều hơn cho "kích thước" của bộ công cụ, vì nó không tính khoảng trắng và các bình luận. Khi số "tối đa" rất gần với số tối thiểu, điều đó có nghĩa là không có nhiều khoảng trắng và không có nhiều nhận xét trong mã. pqGUI minh họa điều đó, bởi vì nó hầu như không có nhận xét nào cả (và cũng không có tài liệu nào), điều này quá tệ, bởi vì (IMO) nó đã tạo ra các thành phần GUI trông đẹp nhất.
Thông báo chính: tài liệu không được tính là bình luận! Điều đó làm cho PGU, sgc & GooeyPy, những người có tài liệu, trông béo hơn và ít tài liệu hơn so với thực tế, so với Albow và pqGUI, thiếu tài liệu.
Tôi thích pqGUI vì tôi thích giao diện của các widget mà nó tạo ra, nhưng nó không được hỗ trợ và không có giấy tờ, và tôi không thể tìm thấy tác giả.
Trong số năm, tính đến tháng 1 năm 2011, PGU là nhà lãnh đạo rõ ràng. Nhưng tôi không hài lòng với cả năm, vì vậy tôi đã tự viết. (Lưu ý: PGU & sgc đều đã được cập nhật và có lẽ đã được cải thiện, vì tôi đã xem xét chúng.)
Theo quan sát gượng gạo của Joe Wreschnig (ở trên), bộ công cụ GUI của tôi không đầy đủ, giống như tất cả những thứ khác. Nhưng nó có một vài điều cho nó.
Tuy nhiên, nó thiếu một số điều khiển quan trọng mà bạn có thể muốn, như hộp thoại mở tệp / hộp tổ hợp và bảng. Các điều khiển tồn tại trông đẹp mắt, nhưng các tính năng như thanh tiêu đề & thanh cuộn là số lượng pixel cố định theo chiều rộng, thay vì chiều rộng có thể điều chỉnh. Mã được nhận xét tốt và có một ứng dụng demo với các ví dụ sử dụng, nhưng không có tài liệu hướng dẫn sử dụng phù hợp. Ngoài ra, đó là bản beta, vì vậy mọi thứ đều có thể thay đổi.
Các kết quả truy cập dòng mã cho nó là:
DavesGUI (w / mã demo) min = 2267, max = 3055 (max = 135% số phút) (w / o mã demo) min = 2018, max = 2644 (max = 131% số phút) (w / docstrings đã nhận xét) min = 1442, max = 2644 (max = 183% số phút)
Nếu, bất chấp những hạn chế đó, ai đó muốn dùng thử, hãy liên hệ với tôi qua email. Hỏi về "DavesGUI." Địa chỉ email của tôi ở đây: http://www.burtonsys.com/email/
Gần đây tôi đã thấy pygtk được sử dụng với pygame và nó hoạt động rất tốt. Chỉ cần đảm bảo bạn sử dụng sự kiện phơi sáng với tiện ích vùng vẽ gtk và cập nhật dữ liệu pygame trên mỗi lần đi qua vòng lặp chính gtk. Nếu bạn muốn một bộ công cụ gui đầy đủ hoạt động trong pygame thì điều đó sẽ không xảy ra, nhưng nếu bạn muốn có một bộ công cụ gui đầy đủ để sử dụng với pygame thì bạn thật may mắn, pygtk chính là nó. Bạn thậm chí có thể sử dụng gtk bằng ngôn ngữ lập trình C và vẫn nhập pygame dưới dạng tiện ích vào vùng vẽ và cập nhật pygame trong python nếu điều đó nổi lên thuyền của bạn và bạn muốn tốc độ tăng áp. Tại sao phiền phức, chỉ cần sử dụng google và tìm câu trả lời sau đó thực hiện nó, không khó và không có vấn đề lớn. Bằng cách này pygame thực sự mát mẻ. Những kẻ đó đã bỏ rất nhiều công sức vào nó, và nó hoạt động rất hiệu quả.
Tôi đã thêm các yếu tố GUI rất cơ bản vào thư viện GameEngine của mình: http://aharrisbooks.net/pythonGame/ch10/ (Bao gồm trong một cuốn sách về phát triển trò chơi trong Python)
Tôi đã xây dựng các thành phần GUI rất đơn giản dựa trên sprite tiêu chuẩn: nhãn, nút, nhãn nhiều dòng và thanh cuộn nhỏ.
Những công cụ này khá cơ bản, nhưng chúng đủ cho nhiều mục đích sử dụng. Tất nhiên, thư viện hoàn toàn là nguồn mở, vì vậy hãy thoải mái sửa đổi chúng nếu bạn muốn. Phần tử giao diện người dùng tôi chưa thêm (chưa) là tiện ích nhập văn bản. Đó là bởi vì mô hình sự kiện phức tạp hơn nhiều so với các mô hình khác và tôi đã sắp hết thời hạn.
Vui lòng chơi với điều đó (cho dù bạn có sử dụng cuốn sách hay không) và cho tôi biết nếu bạn gặp phải bất kỳ rắc rối nào. Tôi sẽ cố gắng giúp đỡ.
Tôi đã có video về khóa học của mình có sẵn tại http://synapse.cs.iupui.edu/Mediasite/Catalog/
Nhìn vào khóa học N451. Đó là một trong những phát triển trò chơi.
Google mùa hè mã đã thêm một GUI mới: http://blog.sambull.org/pygame-gui-0-2