當前位置: 首頁>>代碼示例>>Python>>正文


Python MenuItem.set_label方法代碼示例

本文整理匯總了Python中sugar.graphics.menuitem.MenuItem.set_label方法的典型用法代碼示例。如果您正苦於以下問題:Python MenuItem.set_label方法的具體用法?Python MenuItem.set_label怎麽用?Python MenuItem.set_label使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在sugar.graphics.menuitem.MenuItem的用法示例。


在下文中一共展示了MenuItem.set_label方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: SpeechPalette

# 需要導入模塊: from sugar.graphics.menuitem import MenuItem [as 別名]
# 或者: from sugar.graphics.menuitem.MenuItem import set_label [as 別名]
class SpeechPalette(Palette):

    def __init__(self, primary_text, manager):
        Palette.__init__(self, label=primary_text)

        self._manager = manager
        self._manager.connect('play', self._set_menu_state, 'play')
        self._manager.connect('stop', self._set_menu_state, 'stop')
        self._manager.connect('pause', self._set_menu_state, 'pause')

        vbox = gtk.VBox()
        self.set_content(vbox)

        self._play_icon = Icon(icon_name='player_play')
        self._pause_icon = Icon(icon_name='player_pause')
        self._play_pause_menu = MenuItem(text_label=_('Say selected text'))
        self._play_pause_menu.set_image(self._play_icon)
        self._play_pause_menu.connect('activate', self.__play_activated_cb)
        self._play_pause_menu.show()

        self._stop_menu = MenuItem(icon_name='player_stop',
                text_label=_('Stop playback'))
        self._stop_menu.connect('activate', self.__stop_activated_cb)
        self._stop_menu.set_sensitive(False)
        self._stop_menu.show()

        self.menu.append(self._play_pause_menu)
        self.menu.append(self._stop_menu)

        self._adj_pitch = gtk.Adjustment(value=self._manager.get_pitch(),
                                          lower=self._manager.MIN_PITCH,
                                          upper=self._manager.MAX_PITCH)
        self._hscale_pitch = gtk.HScale(self._adj_pitch)
        self._hscale_pitch.set_draw_value(False)

        vbox.pack_start(gtk.Label(_('Pitch')), padding=style.DEFAULT_PADDING)
        vbox.pack_start(self._hscale_pitch)

        self._adj_rate = gtk.Adjustment(value=self._manager.get_rate(),
                                          lower=self._manager.MIN_RATE,
                                          upper=self._manager.MAX_RATE)
        self._hscale_rate = gtk.HScale(self._adj_rate)
        self._hscale_rate.set_draw_value(False)

        vbox.pack_start(gtk.Label(_('Rate')), padding=style.DEFAULT_PADDING)
        vbox.pack_start(self._hscale_rate)
        vbox.show_all()

        self._adj_pitch.connect('value_changed', self.__adj_pitch_changed_cb)
        self._adj_rate.connect('value_changed', self.__adj_rate_changed_cb)

    def __adj_pitch_changed_cb(self, adjustement):
        self._manager.set_pitch(int(adjustement.value))

    def __adj_rate_changed_cb(self, adjustement):
        self._manager.set_rate(int(adjustement.value))

    def __play_activated_cb(self, widget):
        if self._manager.is_paused:
            self._manager.restart()
        elif not self._manager.is_playing:
            self._manager.say_selected_text()
        else:
            self._manager.pause()

    def __stop_activated_cb(self, widget):
        self._manager.stop()

    def _set_menu_state(self, manager, signal):
        if signal == 'play':
            self._play_pause_menu.set_image(self._pause_icon)
            self._play_pause_menu.set_label(_('Pause playback'))
            self._stop_menu.set_sensitive(True)

        elif signal == 'pause':
            self._play_pause_menu.set_image(self._play_icon)
            self._play_pause_menu.set_label(_('Say selected text'))
            self._stop_menu.set_sensitive(True)

        elif signal == 'stop':
            self._play_pause_menu.set_image(self._play_icon)
            self._play_pause_menu.set_label(_('Say selected text'))
            self._stop_menu.set_sensitive(False)
開發者ID:nemesiscodex,項目名稱:JukyOS-sugar,代碼行數:85,代碼來源:speech.py


注:本文中的sugar.graphics.menuitem.MenuItem.set_label方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。