Mad Libs 프로그램 용 TK를 사용하여 Ruby에 GUI를 작성하려고합니다. 본질적으로 Entry 위젯에서 사용자의 입력을 받아 텍스트 줄의 특정 단어를 해당 정보로 바꿔야합니다. 다음은 관련 코드 ($ 함량은 부모 창입니다)입니다 : 내가 알고있는 것처럼Ruby Tk 입력 위젯이 textvariable을 업데이트하지 않습니다.
$name=TkVariable.new()
name=Tk::Tile::Entry.new($content) {width 7; textvariable $name}.grid(:column =>1, :row =>0, :sticky => 'we')
# Mad Lib base text
$text=TkVariable.new("My name is #{name.get}.")
# Displays end result
def showResult
display=Tk::Tile::Label.new($content) {textvariable $text}.grid(:column =>0, :row => 6, :sticky => 'we')
end
# Button to replace input in base text.
# Clicking this button adds a new Label widget containing the text. The variables,
#however, retain whatever value they were initialized to (in this case, nothing)
Tk::Tile::Button.new($content) {text 'Submit'; command 'showResult'}.grid(:column => 1, :row => 5, :sticky => 'we')
이 name.get 내가 엔트리 위젯의 필드에 입력 한대로 저를 제공해야합니다. 그러나 이름도 $ 이름도 업데이트되지 않습니다.
도움을 주셔서 감사합니다. – jac