In Tkinter, Python, versuche ich derzeit, eine Ausgabe von so zu machen, wenn eine Schaltfläche angeklickt wird, wird eine gewinkelte Linie (in 45-Grad-Richtung) auf die Leinwand gelegt. Hier ist der Code, den ich habe versucht, so weit:45 Grad Winkel 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)
Wie Sie wahrscheinlich sagen, ich versuche, eine Flughafen-ähnliches Spiel zu machen, wo Sie ein Flugzeug zu einem Ziel gesetzt, und damit schafft sie eine Linie von wo es enden wird. Dieser Code ist ein bisschen schwer zu verstehen, was ich versuche zu tun, aber kurz gesagt, ich möchte eine Linie zwischen zwei Leinwand erstellt Rechtecke, wenn ein Tkinter Button geklickt wird. Nur um zu verdeutlichen, verwende ich python 3.5.2 tkinter. Dieser Code erstellt auch keine Fehlermeldung oder irgendeine Art von Fehler, aber es tut nicht, was ich tun soll. Das fasst es im Grunde zusammen. Hier
ich eine Fehlermeldung, wenn ich die 'Paris' Schaltfläche klicken, nachdem an dem Londoneren Punkt klicken : '_tkinter.TclError: falsche # Koordinaten: erwartet eine gerade Zahl, bekam 5' weil Sie 5 Koordinaten in' canvas.create_line (100, 0, 100, 100, 45) 'anstatt einer geraden Zahl geben. –
die 45 ist gemeint, um die Winkelgrße z.B. 45 ° Winkel – Jake
Ich sehe keine Frage in Ihrer Frage. Wozu brauchst du Hilfe? Alles, was Sie getan haben, ist, uns zu sagen, was Sie tun wollen, aber das Problem, das Sie haben, nicht erklärt haben. –