Python3 でキャンバスを使って絵を描きました。
この絵を上下・左右のスクロールバーを使って移動したいと思いました。
調べてみたところ、リストに対するスクロールバーの説明はあったのですが、キャンバスに対するスクロールバーの説明があまり見つかりませんでした。
いくつかのサイトを参考にプログラムしてみたのですが、以下のような問題が起こりました。
・スクロールバー上でのみスクロールできる
・スクロールバー以外のところではスクロールできない
・スクロールバー上でスクロールしても、スクロールバーが動かない
・スクロールバー上でスクロールするときと、スクロールバーをつかんでドラッグするときとで、関数の引数の数が異なるためエラーが出る
以上にようなエラーのないプログラムにしたいと思います。
プログラムは以下の通りです。
python
from tkinter import * def function1(a,b,c): pass def function2(a,b,c): pass root = Tk() canvas = Canvas(root, width = 400, height = 400, scrollregion = (0, 0, 800, 800)) xscroll = Scrollbar(root, orient = HORIZONTAL, command = function1) xscroll.grid(row = 1, column = 0, sticky = E+W) yscroll = Scrollbar(root, orient = VERTICAL, command = function2) yscroll.grid(row = 0, column = 1, sticky = N+S) canvas.config(xscrollcommand = xscroll.set, yscrollcommand = yscroll.set) root.grid_rowconfigure(0, weight = 1) root.grid_columnconfigure(0, weight = 1) canvas.grid(row = 0, column = 0, sticky = N+E+W+S) root.mainloop()
どなたかわかる方がいらっしゃいましたらお願いいたします。
まだ回答がついていません
会員登録して回答してみよう