2017-08-22 3 views
1

私はGtk.LinkBut​​tonを持っています。私が書いているプログラムの実行中にプログラムのラベルを変更したいのです。 .gladeファイルを手作業で編集してラベルを変更できることを知りました。プログラムでそれをどのように変更できますか?私はGladeファイルを手作業で編集せずに、Gladeでボタンを作成した後、GladeまたはコードでGtk.LinkBut​​tonのラベルを設定するにはどうすればいいですか?

example.pyのWindows 10日付MSYS2までの内側と最新のPython 2.7.13とGTK + 3.22を使用します。

# coding=utf-8 

import gi 
gi.require_version("Gtk", "3.0") 
from gi.repository import Gtk 

b = Gtk.Builder() 
b.add_from_file("test.glade") 

w = b.get_object("window1") 
linkButton = b.get_object("linkButton") 
linkButton.label = "Google" # This does nothing. 

w.connect("delete-event", Gtk.main_quit) 
w.show_all() 
Gtk.main() 

test.glade

<?xml version="1.0" encoding="UTF-8"?> 
<!-- Generated with glade 3.20.0 --> 
<interface> 
    <requires lib="gtk+" version="3.20"/> 
    <object class="GtkWindow" id="window1"> 
    <property name="can_focus">False</property> 
    <child> 
     <object class="GtkLinkButton" id="linkButton"> 
     <property name="label" translatable="yes">button</property> 
     <property name="visible">True</property> 
     <property name="can_focus">True</property> 
     <property name="receives_default">True</property> 
     <property name="relief">none</property> 
     <property name="uri">http://www.google.com</property> 
     </object> 
    </child> 
    </object> 
</interface> 

スクリーンショットを

... 
w = b.get_object("window1") 
linkButton = b.get_object("linkButton") 
linkButton.set_label("Google") # This does something 
... 

PSGtk.LinkButton親クラスであるScreenshot

答えて

1

のでGtk.Buttonあなたはボタンのラベルを設定するGtk.Buttonset_labelメソッドを使用することができますGObjectのプロパティがそのように、<object>.props.<property>にカプセル化され、使用してラベルを設定します質問と同じアプローチですが、誰かが行うべきことです:

linkButton.props.label = "Google" # This also does something 
関連する問題