我需要从指向黄色框的蓝色和绿色框中绘制两个箭头。我尝试使用create_line绘制对角线,但它没有工作。任何人都可以建议任何我可以绘制这些箭头的方法。 使用create_line时的错误消息是:AttributeError:' _tkinter.tkapp'对象没有属性' create_line'
from tkinter import *
import tkinter as tk
window = Tk()
window.geometry("900x500")
window.configure(background='red')
window.title("Theoretical")
label1 = Label(window, text="Hess' cycle of combustion", fg="black", bg="red", font=("Comic Sans MS", 20))
label1.pack()
text1 = Text(window, width=20, height = 1, bg= "blue")
text1.place(x=200, y=100)
window.create_line(0, 0, 200, 100)
window.create_line(0, 100, 200, 0, fill="white")
text2 = Text(window, width=20, height = 1, bg= "green")
text2.place(x=520, y=100)
text3 = Text(window, width=20, height = 1, bg= "yellow")
text3.place(x=370, y=250)
## arrow = Label(window, width=13,height = 1, text = "-------------->", bg= "lawn green", font=("Helvetica", 20))
## arrow.place(x= 330, y=90)
global textbox
textbox = Text(window, width=400, height=10)
textbox.place(x=0, y= 365)
答案 0 :(得分:2)
tkinter行有一个package main
import (
"html/template"
"os"
)
func main() {
t, err := template.New("").Parse(`
<p>{{ .Country }}</p>
<p>Want </p>
`)
if err != nil {
panic(err)
}
err = t.Execute(os.Stdout, map[string]interface{}{
"Country": "US",
})
if err != nil {
panic(err)
}
}
选项;但是,正如在评论中指出的那样,arrow
是一种create_line
方法:因此,您必须使用Canvas
对象绘制线条:
这个最小的例子向您展示了如何:
tk.Canvas
请注意,为了避免“难以修复”问题和意外行为,通常建议不要在主命名空间中导入模块(i / e不要import tkinter as tk
window = tk.Tk()
canvas = tk.Canvas(window)
canvas.pack()
canvas.create_line(0, 0, 200, 100, arrow=tk.LAST)
window.mainloop()
),也不要混合几何管理器( (i / e不要在同一个应用中使用from tkinter import *
和.place
)
要将小部件放在画布上,您必须use the Canvas.create_window()
method:
.pack