0

How to add a label, textbox and button to a program in which an image is display using tkinter canvas. In this program, an image is displayed to user. Lines are drawn over image on mouse click at different position. I want to add a textbox and a button, so that user can enter name for the object drawn using mouse clicks. For example, Enter label: textboxforinputname__Button to enter.

from Tkinter import *
import Image, ImageTk, ImageDraw
import numpy as np

coord=[]  # for saving coord of each click position
Dict_Polygon={}   # Dictionary for saving polygon
list_of_points=[]
flag=True
label=0

def draw_lines(event):

    mouse_xy = (event.x, event.y)
    func_Draw_lines(mouse_xy)


def func_Draw_lines(mouse_xy):

    center_x, center_y = mouse_xy
    if canvas.old_coords:
            x1, y1 = canvas.old_coords
            canvas.create_line(center_x, center_y, x1, y1)

    # add clicked positions to list
    if flag==True:
        list_of_points.append(mouse_xy)
        canvas.old_coords = center_x, center_y

# Main function
if __name__ == '__main__':

    root = Tk()    
# Input image
    img = Image.open("test.jpg")         
# Draw canvas for iput image to pop up image for clicks
    filename = ImageTk.PhotoImage(img)
    canvas = Canvas(root,height=img.size[0],width=img.size[0])
    canvas.image = filename
    canvas.create_image(0,0,anchor='nw',image=filename)
    canvas.pack()
    canvas.old_coords = None
# bind function to canvas to generate event
    canvas.bind("<Button 3>", draw_lines)
    root.mainloop()
Bryan Oakley
  • 370,779
  • 53
  • 539
  • 685
john
  • 101
  • 1
  • 14
  • The answer can be found in tkinter documentation. What have you tried? – Bryan Oakley Jun 28 '18 at 15:20
  • text_entry = canvas.Entry(root, textvariable=myvar) button1 = canvas.Button(root, text="Back to Home", command=mywarWritten) button1.pack() text_entry.pack() – john Jun 28 '18 at 15:39

0 Answers0