pythonのtkinterでcanvasの、create_line機能を使って線を引きたいと思っています
問題のコード
python3x
1import tkinter 2 3root = tkinter.Tk() 4root.geometry("500x500") 5 6# Canvas Widget を生成 7canvas = tkinter.Canvas(root) 8 9# Top Widget上に Scrollbar を生成して配置 10bar = tkinter.Scrollbar(root, orient=tkinter.VERTICAL) 11bar.pack(side=tkinter.RIGHT, fill=tkinter.Y) 12bar.config(command=canvas.yview) # ScrollbarでCanvasを制御 13 14# Canvas Widget をTopWidget上に配置 15canvas.config(yscrollcommand=bar.set) # Canvasのサイズ変更をScrollbarに通知 16canvas.config(scrollregion=(0,0,500,500)) #スクロール範囲 17canvas.pack(side=tkinter.LEFT, fill=tkinter.BOTH, expand=True) 18 19# Frame Widgetを 生成 20frame = tkinter.Frame(canvas) 21 22# Frame Widgetを Canvas Widget上に配置() 23canvas.create_window((0,0), window=frame, anchor=tkinter.NW, width=500, height=500) 24 25# Frame Widget上に各種ラベルを表示 26lbl_1 = tkinter.Label(frame, text='aaa') 27lbl_1.place(x=20, y=20) 28 29canvas.create_line(100, 100, 100, 300, width = 2.0) 30canvas.pack() 31
試したこと
これだとそもそも線が引けなくて、
最後の2行を
frame.create_line(100, 100, 100, 300, width = 2.0) frame.pack()
にすると、
'Frame' object has no attribute 'create_line'
が出て、
canvas.create_line(frame, 100, 100, 100, 300, width = 2.0) canvas.pack()
にすると
wrong # coordinates: expected an even number, got 5
が出ます。どうすればいいでしょうか?
環境
python3.8.3rc1
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/04 08:12