Làm thế nào để viết Appindicators trong python?


22

Tôi đang tìm cách thử và phát triển một số chỉ số đơn giản, cho numlock / capslock và brigthness, v.v ... Làm thế nào tôi có thể tạo ra các chỉ số trong python? Có hướng dẫn nào hướng dẫn tôi cách viết appindicator đầu tiên của tôi (như cho các ứng dụng một cách nhanh chóng) không? Bất kỳ giải pháp dễ dàng để bắt đầu như mẫu nhanh chóng?


Đặc biệt là appindicators cho pyqt5 hoặc pygi và python3 (cũng sẽ hoạt động bên ngoài sự thống nhất là tốt).
Mateo

Câu trả lời:


12

Bạn có thể tìm thấy trang để viết các chỉ số ứng dụng tại đây:

Xem thêm:

Trên trang đó, bạn sẽ tìm thấy các liên kết đến các ví dụ trong Python và tài liệu API. Mẫu ứng dụng ubfox trong Quickly nên có các ví dụ về việc sử dụng appindicators. Chúc may mắn!


Cảm ơn bạn! Tôi đã hy vọng hướng dẫn từng bước nhiều hơn cho lần thử đầu tiên của mình, nhưng tôi sẽ thực hiện với những gì đang có. Bây giờ tôi sẽ giữ câu hỏi mở trong trường hợp ai đó biết về một số hướng dẫn khác.
DoGoDo

Bạn sẽ tìm thấy một hướng dẫn để giúp bạn bắt đầu trên developer.ubfox.com/get-started - kiểm tra phần tài nguyên để biết thêm nội dung! developer.ubfox.com/resource/app-developer-cookbook/unity
David Planella

Cảm ơn, @DavidPlanella Tôi đã xem hướng dẫn đó để bắt đầu với các chương trình bình thường, nhưng nó thậm chí không đề cập đến các chỉ số. Không liên kết khác.
DoGoDo

Bạn không hiểu gì về ví dụ ở đây? Đây là một ví dụ đơn giản, đơn giản, hoạt động (lấy từ liên kết trong câu trả lời) developer.ubfox.com/resource/technology/m
Timo

2
Tương tự hoặc cùng một câu hỏi ở đây - askubfox.com/questions/108035/ trên
fossfreedom

7

Tôi nghĩ Viết các chỉ số bằng Python, GIR và GTK3 , như được đề cập bởi @fossfreedom, bao gồm cách tạo các chỉ số cho Unity. (Đọc thứ 1)

Tôi đang sử dụng Ubuntu 14.04, nhanh chóng 12,08.1. Đây là bản demo cho một bản dựng ví dụ hoạt động hoàn chỉnh từ mẫu Quickly.

  1. OP chỉ muốn chỉ báo (không hoàn thành ứng dụng GUI), vì vậy hãy bắt đầu với mẫu nhanh ubfox-cli:

    quickly create ubuntu-cli indicator-demo

    Nó có thể đưa ra một thông báo lỗi cho sửa lỗi chưa được phát hành ( lỗi # 1064110 ) trong mẫu này:

    Creating project directory indicator-demo
    Creating bzr repository and committing
    Launching your newly created project!
    Traceback (most recent call last):
    ...
    OSError: [Errno 13] Permission denied
    ERROR: create command failed
    Aborting

    Sửa quyền

    cd indicator-demo/
    chmod +x bin/indicator-demo

    Kiểm tra

    $ quickly run
    I'm launched and my args are:
  2. Có một ví dụ PYGI hay từ Ubuntu Wiki: Các chỉ số ứng dụng . Nó nên dễ dàng để tích hợp nó.

    Mở để chỉnh sửa:

    quickly edit
    • Sửa đổi __init__.py, thêm các mô-đun cần nhập:

      from gi.repository import Gtk
      from gi.repository import AppIndicator3 as appindicator
    • Trong main()hàm, giữa:

      print _("I'm launched and my args are: %s") % (" ".join(args))
      logging.debug(_('end of prog'))

      thêm vào:

      ind = appindicator.Indicator.new_with_path (
                          _("Indicator demo for Quickly"),
                          "indicator-demo-icon-normal",
                          appindicator.IndicatorCategory.APPLICATION_STATUS,
                          indicator_democonfig.get_data_path())
      ind.set_status (appindicator.IndicatorStatus.ACTIVE)
      ind.set_attention_icon ("indicator-demo-icon-attention")
      
      # create a menu
      menu = Gtk.Menu()
      
      # create one item 
      menu_items = Gtk.MenuItem(_("Quit"))
      menu.append(menu_items)    
      # this is where you would connect your menu item up with a function:
      menu_items.connect("activate", Gtk.main_quit )    
      # show the item
      menu_items.show()
      
      ind.set_menu(menu)
      
      Gtk.main()
  3. Thêm biểu tượng vào thư mục dữ liệu mới được tạo:

    mkdir data

    Tôi đã sao chép một số biểu tượng từ các gói đã cài đặt, chỉ để làm ví dụ:

    cp /usr/share/icons/ubuntu-mono-dark/status/22/indicator-messages.svg data/indicator-demo-icon-normal.svg
    cp /usr/share/icons/ubuntu-mono-dark/status/22/indicator-messages-new.svg data/indicator-demo-icon-attention.svg
  4. Kiểm tra nó:

    quickly run
  5. Tạo gói và xuất bản nó:

    quickly package
    quickly share --ppa your-ppa

Ghi chú:

  1. Chà, tôi đã không cập nhật tệp kiểm soát gói debian, nhưng các phụ thuộc đã được tự động thêm vào DEB được tạo:

    Package: indicator-demo
    Version: 0.1
    Architecture: all
    Maintainer: UNKNOWN <UNKNOWN>
    Installed-Size: 57
    Depends: python (>= 2.7), python (<< 2.8), python:any (>= 2.7.1-0ubuntu2), gir1.2-gtk-3.0, gir1.2-appindicator3-0.1
    Section: python
    Priority: extra
    Description: UNKNOWN
     UNKNOWN

    Ngoài ra, các biểu tượng được thêm trước đó trong thư mục dữ liệu được bao gồm trong gói.

  2. Tôi đã gặp một trường hợp tương tự trước đây, Làm thế nào để thêm một applet trạng thái sửa đổi bàn phím vào bảng điều khiển Unity? . Câu trả lời chứa một chỉ báo bàn phím mẫu / ví dụ sử dụng libappindicator (Nhưng trong ngôn ngữ lập trình c).

    libappindicator thiếu một tính năng quan trọng giúp dễ dàng chuyển các chỉ số máy tính để bàn khác. Biểu tượng chỉ có thể được tải từ đường dẫn. Xem API lỗi # 812067 cần thiết: hỗ trợ cài đặt biểu tượng pixbuf

Tài liệu tham khảo:

Câu hỏi liên quan:


3

Đây liên kết sẽ dạy cho bạn để tạo ra một chỉ số thư mới cơ bản trong python + đoàn kết, hoạt động với Gmail. Điều này sẽ cung cấp cho bạn một nền tảng vững chắc trong cấu trúc cơ bản của một applet trong khi cung cấp một ví dụ trong thế giới thực (mặc dù đơn giản) mà bạn có thể dễ dàng mở rộng. Nó đi qua các đoạn kịch bản cuối cùng từng mảnh.
Đây là một chương trình python khác với các nhận xét trong mã, được thực hiện bằng cách sử dụng Pygtk

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.