お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。
  • インデックス
  •  » 開発環境
  •  » Ubuntu16.04 LTS pythonでの自作インジケータにスライダーを実装したいのですができません

#1 2016-09-30 21:55:51

ASHIJA
新しいメンバ
登録日: 2016-09-30

Ubuntu16.04 LTS pythonでの自作インジケータにスライダーを実装したいのですができません

こんにちは。初めての投稿なので見苦しい箇所があったら申し訳ありません。
Ubuntu16.04 LTSでの話になります。

今私は明るさ調整機能を持つインジケータ(画面の左上に出る小さいアイコン、音量とかBluetoothとかのアレ)を自作しています。
使用言語はpython2.7.12です。

それで、コンテキストメニューといえば良いのでしょうか、アイコンをクリックした時に出てくるメニュー画面を作っているのですが、その中でスライダーを使いたいと思っています。しかし、どのようなコードを書いたらスライダーを実装できるのかわかりませんでした。
イメージとしては、音量のアイコンを押した時に出てくる音量調整スライダーのようなものを実装したいです。

メニュー画面のコードは以下のような感じでとりあえず作ってあります。

----------

def menu_setup(self):
self.menu = gtk.Menu()

#スライダ表示部
scale_hbox = gtk.HBox()
scale = gtk.HScale()
scale.set_adjustment(gtk.Adjustment(value=0.6, lower=0.3, upper=1.0, step_incr=0.1, page_incr=1, page_size=0))
scale.set_update_policy(gtk.UPDATE_CONTINUOUS)
scale.connect("value_changed", self.change_brightness)
scale_hbox.pack_start(scale)
self.menu.append(scale_hbox)

#仕切り線
breaker = gtk.SeparatorMenuItem()
breaker.show()
self.menu.append(breaker)

#Aboutメニュー
show_about_item = gtk.MenuItem("About")
show_about_item.connect("activate", self.menu_about_dlg)
show_about_item.show()
self.menu.append(show_about_item)

#終了メニュー
quit_item = gtk.ImageMenuItem("Quit")
quit_item.set_image(gtk.image_new_from_stock('gtk-quit', gtk.ICON_SIZE_MENU))
quit_item.connect("activate", self.menu_quit)
quit_item.show()
self.menu.append(quit_item)

-----------------

ただ、このような状態で実行すると、
GtkWarning: IA__gtk_menu_shell_insert: assertion 'GTK_IS_MENU_ITEM (child)' failed self.menu.append(scale_hbox)
というエラーが出ます。
hboxはmenu_itemじゃないから使えないらしいですね。ちなみにhboxに入れず、そのままHScaleをappendしても同じような結果でした。
いろいろ調べたのですが、結局解決方法は分からずじまいです・・・

でも音量調整のスライダーがあるんですから実装方法は何かしらあるんだと思います。
その実装をしているソースコードでも探しだすことができれば良いのですが、僕の検索能力では探しだすことができませんでした・・・。

メニュー画面内でのスライダーの実装方法について何か情報をお持ちの方はいらっしゃいませんか?
pythonでなくても大丈夫です。
どなたか協力していただけるとありがたいです。

オフライン

 
  • インデックス
  •  » 開発環境
  •  » Ubuntu16.04 LTS pythonでの自作インジケータにスライダーを実装したいのですができません

Board footer

Powered by FluxBB