2012-06-06 14 views
9

Có thể áp dụng GTK+ theme trong ứng dụng PyGTK của tôi không?Cách áp dụng chủ đề cho ứng dụng PyGTK

Tôi có thể áp dụng chủ đề theo chương trình không? Tức là, để áp dụng các chủ đề để tôi sử dụng một chức năng PyGTK hoặc tôi phải tìm nơi PyGTK được cài đặt trên máy tính của tôi (Inside Python2.7) và thay đổi mũi tên .pngs, và scrollbar .pngs và vv?

Lưu ý Tôi chỉ cài đặt PyGTK Tôi chưa cài đặt GTK +, tôi có cần nó không? Chủ đề được liên kết ở trên có hoạt động với PyGTK hay chỉ dành cho GTK + không?

Bạn có thể tư vấn về cách tôi có thể áp dụng chủ đề này cho ứng dụng PyGTK của mình không?

+2

Nếu bạn có PyGTK thì bạn cũng có GTK + (là thư viện cơ bản). –

Trả lời

12

Nếu bạn tải xuống gói đầu tiên từ liên kết của mình, gói được gắn nhãn "(GTK & chủ đề Metacity)" bạn sẽ nhận được bản lưu trữ tar.gz. Giải nén tệp lưu trữ vào một số thư mục như /home/jake/.themes. Sau đó trong mã pygtk của bạn, trước khi bạn khởi tạo các widget của bạn (Tôi sẽ làm điều đó ngay sau khi bạn nhập pygtk và gtk trong mã của bạn), thêm dòng này:

gtk.rc_parse('/home/jake/.themes/Elegant Brit/gtk-2.0/gtkrc')

Đó gtkrc tập tin trong thư mục đó chứa thông tin được sử dụng để thông báo cho gtk cách vẽ các tiện ích con cho chủ đề đó.

Hy vọng điều đó sẽ hữu ích.

Lưu ý: Các lựa chọn chủ đề phải được để lại cho người dùng và thường được cau mày khi thay đổi/sửa đổi chủ đề của người dùng hiện tại khi phát triển ứng dụng bằng gtk.

+0

+1 cho đoạn cuối và để đủ phong nha để viết các đoạn trước đó - tôi sẽ để chúng lại ;-) – ptomato

+0

IMO lưu ý của bạn về việc không thay đổi chủ đề chỉ áp dụng cho Linux - đặc biệt là Gnome - người dùng, không có vấn đề gì cả nếu bạn phát triển cho Windows. – schlamar

+0

@ ms4py Tôi thường đồng ý với bạn, vì gtk trên cửa sổ thường được sử dụng cho số lượng ứng dụng rất chọn và không phải toàn bộ môi trường. Nhưng, tuy nhiên, đó là cách GTK được thiết kế và triết lý cần lưu ý khi phát triển các ứng dụng gtk – Wes