В tkinter, python, в настоящее время я пытаюсь сделать вывод так, что при нажатии кнопки на холст помещается наклонная линия (направленная в направлении 45 градусов). Вот код, который я пытался до сих пор:45 Угол угла Python Tkinter Canvas
from tkinter import *
root = Tk()
root.geometry("900x900")
canvas = Canvas(root, width=800, height=820)
canvas.pack()
png = PhotoImage(file = r'C:\Users\--\Desktop\Programming\GP\europe1.gif') #Map of europe
canvas.create_image(0, 0, image = png, anchor = "nw")
london = canvas.create_rectangle(5, 0, 10, 5, fill='red')
londontext = canvas.create_text(10, 10, text="London") #Creating labelled cities for europe picture
paris = canvas.create_rectangle(5, 0, 10, 5, fill='red')
paristext = canvas.create_text(10, 10, text="Paris")
canvas.move(london, 226, 390)
canvas.move(londontext, 210, 374)
canvas.move(paristext, 230, 447) # Sets correct coords for the two cities
canvas.move(paris, 247, 462)
def gotoparis():
parisline = canvas.create_line(100, 0, 100, 100, 45)
def gotolondon(): # Trying to make a line form between the two cities
londonline = canvas.create_line(100, 0, 100, 100, 45)
def londonclick(event):
londoninterface = Tk()
londoninterface.geometry("400x400")
ll = Label(londoninterface, text="London Airport")
ll.pack()
blank = Label(londoninterface, text="") # Creating new windows
blank.pack()
l1 = Label(londoninterface, text="Send Flight To:")
l1.pack()
toparis = Button(londoninterface, text="Paris", command=gotoparis)
toparis.pack()
def parisclick(event):
parisinterface = Tk()
parisinterface.geometry("400x400")
ll = Label(parisinterface, text="Paris Airport")
ll.pack()
blank = Label(parisinterface, text="")
blank.pack()
l1 = Label(parisinterface, text="Send Flight To:")
l1.pack()
tolondon = Button(parisinterface, text="London")
tolondon.pack()
canvas.tag_bind(london, '<ButtonPress-1>', londonclick) # Makes it so when rectangle is clicked, a new window pops up
canvas.tag_bind(paris, '<ButtonPress-1>', parisclick)
Как вы можете сказать, что я пытаюсь сделать аэропорт, как игра, где вы можете установить самолет к месту назначения, и что он создает линию где он будет в конечном итоге. Этот код немного трудно понять, что я пытаюсь сделать, но, короче говоря, я хочу создать линию между двумя созданными прямоугольниками, когда нажата кнопка tkinter. Чтобы уточнить, я использую python 3.5.2 tkinter. Кроме того, этот код не создает сообщение об ошибке или какой-либо тип ошибки, но он не выполняет то, что я хочу сделать. Это в основном суммирует его.
Я получаю сообщение об ошибке, когда я нажимаю кнопку 'Paris' после нажатия на точке Лондона : '_tkinter.TclError: неправильные # координаты: ожидаемое четное число, получено 5', потому что вы даете 5 координат в' canvas.create_line (100, 0, 100, 100, 45) 'вместо четного числа. –
45 означает угол, например. 45 ° угол – Jake
Я не вижу вопроса в вашем вопросе. Как я могу вам помочь? Все, что вы сделали, это сказать нам, что вы хотите сделать, но не объяснили, что у вас есть. –