Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[Ruby/TK] Rester à la fin d'une widget Text scrollable

1 view
Skip to first unread message

er...@rail.eu.org

unread,
Feb 23, 2012, 5:09:44 AM2/23/12
to

Je fais du rubyTk, mais je pense que le rpoblème est plus TK que ruby,
d'où la suite sur fr.comp.lang.tcl

Je veux une zone de texte scrollable pour que mon programme inscrive des
messages. J'aimerais que les nouveaux messages soient insérés à la fin,
et que le scroll soit automatique pour que kles derniers messages (ceux
du bas) soient affichés. Mon code (simplifié) actuil est le suivant:

@messagesZone=TkText.new(messagesFrame){
height 3
relief 'sunken'
state 'disabled'
wrap 'word'
grid 'row'=>0, 'column'=>1, :sticky=>'nsew'
}
@messageScroll=Tk::Tile::Scrollbar.new(messagesFrame) {
grid 'row'=>0, 'column'=>0, :sticky=>'ns'
}
@messagesZone.yscrollbar(@messageScroll)

TkGrid.columnconfigure(messagesFrame,1,:weight=>1)
TkGrid.rowconfigure(messagesFrame,0,:weight=>1)


La fonction d'ajout de message est

def addMessage(string)
@messagesZone.state('normal')
@messagesZone.insert('end',string)
@messagesZone.state('disabled')
end

Mais je ne vois pas quoi mettre dans cette fonction pour faire scroller,
car actuellement une fois la widget remplie, les nouveaux messages sont
invisibles, sauf à scroller soit même. Que faire pour obtenir ce
comportement ?

Merci.


--
Le travail n'est pas une bonne chose. Si ça l'était,
les riches l'auraient accaparé
0 new messages