キャンバスに20個のテキストボックスを配置したいと思います。だから私のウィジェットの階層は、メインウィンドウ - >キャンバス - >テキストボックスです。テキストボックスはすべてキャンバスに収まるわけではないので、縦スクロールバーを付けたいと思います。ここで私が試したものです:キャンバスに垂直スクロールを行うことができません
from tkinter import *
root = Tk()
root_height = root.winfo_screenheight()
root_width = root.winfo_screenwidth()
root.geometry("%dx%d+0+0" % (root_width, root_height))
canvas = Canvas(root, height=root_height, width=root_width)
canvas.pack(fill=BOTH, expand=1)
scrollbar = Scrollbar(canvas)
scrollbar.pack(side=RIGHT, fill=Y)
canvas.config(yscrollcommand=scrollbar.set)
textBoxes = []
for i in range(0, 20):
textBoxes.append(Text(canvas, height=1, width=20, bd=2))
y_offset = 15
for i in range(0, 20):
textBoxes[i].place(x=10, y=y_offset)
y_offset += 60
scrollbar.config(command=canvas.yview)
mainloop()
だから、基本的に、私はチュートリアルや他の質問から理解しました何をしようとした -
ウィジェットの(キャンバス)を設定しに
yscrollcommand
のコールバックスクロールバーのsetメソッド。スクロールバーのコマンドをウィジェット(キャンバス)の
yview
メソッドに設定します。
残念ながら、スクロールバーはクリック不可能です。どこが間違っていて、どのようにして目的の行動を達成できますか?
私のコードの変更例を教えてください。 – CuriousGuy