के पास आइकन अक्षम करें मैं अजगर में ओपनवेदरमैप साइट एपिंडिकेटर लिखता हूं, लेकिन मुझे आइकन के बिना सूचक में केवल टेक्स्ट लेबल चाहिए। लेकिन जब मैं छोड़ देता हूं तो मुझे खाली आइकन दिखाएं। क्यों, मुझे केवल पाठ की आवश्यकता है। उबंटू में 12.04 पायथन-एपिंडिकेटर को आइकन की आवश्यकता नहीं है अगर "" खाली आइकन लोड न करें, लेकिन उबंटू 14.04 में खाली आइकन छोड़ दें। आइकन को अक्षम कैसे करें ?? कोई विचार?जीटीके 3, पायथन, एपिंडिकेटर, लेबल
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import urllib2
import json
import time
import datetime
from gi.repository import Gtk, Gdk, GLib, GObject
from gi.repository import AppIndicator3 as appindicator
class programa:
def __init__(self):
# Create Indicator with icon and label
# If leave empty "" then load empty icon
self.ind = appindicator.Indicator.new("Weather","",appindicator.IndicatorCategory.APPLICATION_STATUS)
self.ind.set_status(appindicator.IndicatorStatus.ACTIVE) #
self.menu_structure()
# Menu structure
def menu_structure(self):
refresh = 720 # Refresh interval in seconds
url = urllib2.Request('http://api.openweathermap.org/data/2.5/weather?q=siauliai&units=metric')
openup = urllib2.urlopen(url) # open url
json_string = openup.read() #read data
parsed_json = json.loads(json_string)
# Get data
temp = parsed_json['main']['temp'] # Temperature in metric system
wind = parsed_json['wind']['speed'] # Wind speed
humidity = parsed_json['main']['humidity']
clouds = parsed_json['clouds']['all']
weather = parsed_json['weather'][0]['main']
weather_desc = parsed_json['weather'][0]['description']
update_time = parsed_json['dt']
updated = datetime.datetime.fromtimestamp(int(update_time)).strftime('%H:%M')
# GTK menu
self.menu = Gtk.Menu()
self.menu_updated = Gtk.MenuItem("Updatet: "+updated)
self.menu_weather = Gtk.MenuItem("Weather: "+weather)
self.menu_desc = Gtk.MenuItem("Desc: "+weather_desc)
self.menu_clouds = Gtk.MenuItem("Clouds: "+str(clouds)+"%")
self.menu_humidity = Gtk.MenuItem("Humidity: "+str(humidity)+"%")
self.menu_wind = Gtk.MenuItem("Wind: "+str(wind)+" m/s")
self.separator = Gtk.SeparatorMenuItem()
self.exit = Gtk.MenuItem("Exit")
self.exit.connect("activate", self.quit)
#show menu
self.menu_updated.show()
self.menu_weather.show()
self.menu_desc.show()
self.menu_clouds.show()
self.menu_humidity.show()
self.menu_wind.show()
self.separator.show()
self.exit.show()
# Append menu
self.menu.append(self.menu_updated)
self.menu.append(self.menu_weather)
self.menu.append(self.menu_desc)
self.menu.append(self.menu_clouds)
self.menu.append(self.menu_humidity)
self.menu.append(self.menu_wind)
self.menu.append(self.separator)
self.menu.append(self.exit)
self.ind.set_menu(self.menu)
# Set label in celcius temperature
self.ind.set_label(str(temp)+u"\u2103".encode('utf-8'),"")
# close url
openup.close()
# Refresh indicator
GLib.timeout_add_seconds(refresh,self.menu_structure)
def quit(self, widget):
sys.exit(0)
if __name__ == "__main__":
indicator = programa()
Gtk.main()
लेकिन अगर मैं 1 पिक्सेल पारदर्शी आइकन का उपयोग करता हूं, तो एपिंडिकेटर ने बड़ी जगह की, और दो निकट संकेतक निकट नहीं हैं। –
मैंने शोध का एक गुच्छा किया है और यह मुझे मिला सबसे सरल समाधान है। AppIndicator लाइब्रेरी का उपयोग करके और कुछ प्रकार की मेनू लाइब्रेरी का उपयोग करके इसे करने का एक तरीका हो सकता है, लेकिन इसके लिए मेनू सिस्टम की पूरी रीराइट की आवश्यकता होगी। हालांकि इसके लिए मुझे यूआरएल नहीं मिल रहा है। – chimeraha