我正在使用python 3并尝试在tkinter
中绘制一条垂直线,但我无法使用Canvas
找到任何绘制方式。我用Google搜索但什么也没找到。
这是我的代码:
from tkinter import *
master = Tk()
master.geometry('200x346+200+100')
mainloop()
如何解决这个问题?
答案 0 :(得分:2)
我正在使用python 3并试图在tkinter中绘制一条垂直线但是我找不到任何方法来绘制而不使用Canvas。
不,除了画布之外,没有通用的方法在tkinter中绘制。
如果您只需要一条垂直线作为分隔符,则可以使用一个像素宽的帧。或者,使用ttk.Separator
小部件。
答案 1 :(得分:0)
这是一个直角三角形,其非对角线用Frame
s:
try: # In order to be able to import tkinter for
import tkinter as tk # either in python 2 or in python 3
except ImportError:
import Tkinter as tk
if __name__ == '__main__':
root = tk.Tk()
ratio = 16
vertical_edge_len = 5
horizontal_edge_len = 12
hypotenuse = tk.Canvas(root, highlightthickness=0)
hypotenuse.create_line(0, 0, ratio * horizontal_edge_len,
ratio * vertical_edge_len, fill='green')
vertical = tk.Frame(root, bg='red', height=ratio * vertical_edge_len,
width=1)
horizontal = tk.Frame(root, bg='blue', height=1,
width=ratio * horizontal_edge_len)
vertical.place(x=0, y=0)
horizontal.place(x=0, y=ratio * vertical_edge_len)
hypotenuse.place(x=0, y=0)
root.mainloop()