前提・実現したいこと
表題の通り、Ruby/Tkで、最初からあるメインウィンドウに設置したボタンを押すと、新しいウィンドウが出現し、その新しいウィンドウがメインウィンドウとなり、最初からあるメインウィンドウは消えるようにしたいです。
方法をご存知でしたら、ご教授いただけませんでしょうか。
該当のソースコード
ruby
1def login 2 3 $root = TkRoot.new 4 $root.title('ログイン') 5 6 TkLabel.new( 7 nil, 8 text: 'hoge', 9 font: ["", 50, "bold"] 10 ).pack(padx:100 , pady:50) 11 12 TkLabel.new( 13 nil, 14 text: 'ID', 15 font: ["", 20] 16 ).pack 17 18 id = TkVariable.new('') 19 20 TkEntry.new( 21 nil, 22 font: ["", 20], 23 textvariable: id, 24 width: 20, 25 borderwidth: 3 26 ).pack(pady:10) 27 28 TkLabel.new( 29 nil, 30 text: 'パスワード', 31 font: ["", 20] 32 ).pack 33 34 password = TkVariable.new('') 35 36 TkEntry.new( 37 nil, 38 font: ["", 20], 39 textvariable: password, 40 show: '*', 41 width: 20, 42 borderwidth: 3 43 ).pack(pady:10) 44 45 TkButton.new( 46 nil, 47 text: 'ログイン', 48 font: ["", 30], 49 cursor: "hand", 50 command: proc{menu}, 51 height: 1, 52 width: 10 53 ).pack(pady:50) 54 55 Tk.mainloop 56end 57 58def menu(password) 59 # ここで最初のメインウィンドウを消し、下のnewwindowを新たなメインウィンドウとしたい 60 newwindow = TkToplevel.new 61 newwindow.title('メニュー') 62 63 TkLabel.new( 64 newwindow, 65 text: "foo" 66 ).pack 67 68 Tk.mainloop 69end 70 71login
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/16 01:40
2021/01/16 02:39
2021/01/17 12:57