期待すること
Ruby/tkのBWidgetで
- ScrolledWindow
- ScrollableFrame
これらを使い、マウスホイールによる画面のスクロールを実現することです。
とりあえずスクロールバーだけは動作するようにはできた
以前、BWidgetを使うと画面をスクロールさせることができる方法を下記で質問し、知識のある方から教えてもらいました。
そのときの内容はこちらです。
https://teratail.com/questions/313028
ただ、このとき辿り着いたのは、スクロールバーをドラッグすることでスクロールができるというところまでです。
マウスホイールでスクロールしたくて試行錯誤
そこまでは良いのですが、現状ではマウスホイールでは動きません。やはり、マウスホイールで画面スクロールをさせたいという希望がその後出てきて、実現させたく思っています。
ちなみに、以下が、解決に至るまで回答をくださった方のコード(上記リンクより抜粋)です。
ruby
1require 'tk' 2require 'tkextlib/bwidget' 3 4root = TkRoot.new 5 6sw = Tk::BWidget::ScrolledWindow.new(root) 7sf = Tk::BWidget::ScrollableFrame.new(sw, constrainedwidth: true) 8sw.set_widget(sf) 9vf = sf.get_frame 10vf.configure(bg: :white, borderwidth: 1, relief: :groove) 11 1210.times do |i| 13 TkButton.new(vf, text: "button #{i}").pack 14 TkLabel.new(vf, text: "label #{i}").pack 15end 16 17sw.pack(fill: :both, expand: true) 18 19Tk.mainloop
これを元にコードを触ったり情報を調べたり試行錯誤していますが、なかなかマウスホイールによるスクロールがうまくいきません。
ご存知の方いらっしゃいましたら、大変恐縮ですがご教示いただけませんでしょうか。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/20 09:45