2009-08-10 6 views

Répondre

2

Je n'ai pas compris comment changer le texte sur le bouton existant. Je soupçonne que ce n'est pas encore pris en charge pour le moment. Vous pouvez créer un nouveau bouton et remplacer l'ancien. Malheureusement, au moins sur Windows, la suppression d'un bouton bloque tous les événements de clic. Je ne l'ai pas essayé sur une autre plateforme, mais peut-être que ça marchera. Essayez quelque chose comme ceci:

Shoes.app do 
    para 'This is some text.' 

    @btn = button 'a' do |btn| 
    alert 'Hello, World!' 
    end 

    para 'Blah blah blah' 

    button 'Change!' do |btn| 
    old = @btn 
    new_style = old.style.dup 
    txt = new_style[:text].next! 
    old.parent.before(old) do 
     @btn = button txt, new_style 
    end 
    old.remove #This messes up the click events on Windows. 
    end 

end 
0

Une question très ancienne, mais il y a une solution. Vous n'avez pas mentionné la couleur de vos chaussures, donc j'utilise le vert. Green Shoes est basé sur GTK2, vous pouvez donc utiliser les méthodes de GTK2 si vous extrayez l'objet GTK2 comme ceci.

require 'green_shoes' 

Shoes.app do 
    @btn = button('old text ') {|btn|alert('Hello, World!')} 
    button('Change!') {|btn|@btn.real.set_label("new")} 
end 
Questions connexes