Python 如何在不使用画布的情况下绘制垂直线?
我正在使用Python3并试图在Python 如何在不使用画布的情况下绘制垂直线?,python,python-3.x,tkinter,line,Python,Python 3.x,Tkinter,Line,我正在使用Python3并试图在tkinter中绘制一条垂直线,但如果不使用Canvas,我找不到任何绘制方法。我在谷歌上搜索了一下,但什么也没找到 这是我的密码: from tkinter import * master = Tk() master.geometry('200x346+200+100') mainloop() 如何解决这个问题 我正在使用Python3并试图在tkinter中绘制一条垂直线,但如果不使用Canvas,我找不到任何绘制的方法 不,除了使用画布,没有通用的方法在t
tkinter
中绘制一条垂直线,但如果不使用Canvas
,我找不到任何绘制方法。我在谷歌上搜索了一下,但什么也没找到
这是我的密码:
from tkinter import *
master = Tk()
master.geometry('200x346+200+100')
mainloop()
如何解决这个问题
我正在使用Python3并试图在tkinter中绘制一条垂直线,但如果不使用Canvas,我找不到任何绘制的方法
不,除了使用画布,没有通用的方法在tkinter中绘制
如果您只需要一条垂直线作为分隔符,则可以使用一个像素宽的帧。或者,使用ttk.Separator
小部件
我正在使用Python3并试图在tkinter中绘制一条垂直线,但如果不使用Canvas,我找不到任何绘制的方法
不,除了使用画布,没有通用的方法在tkinter中绘制
如果您只需要一条垂直线作为分隔符,则可以使用一个像素宽的帧。或者,使用
ttk.Separator
小部件 这是一个直角三角形,它的非对角线是用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()
这是一个直角三角形,其非对角线用
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()
使用带有黑色背景的
框架如何?使用带有黑色背景的框架如何?您使用的是画布:斜边=tk.Canvas(root,highlightthickness=0)
@RobertJames是的,但这是一条对角线。您可以删除以斜边开始的每一行,并且仍然有没有画布绘制的垂直线和水平线。您使用的是画布:斜边=tk.Canvas(root,highlightthickness=0)
@RobertJames是的,但这是一条对角线。您可以删除以斜边开始的每一行
,并且仍然可以在没有画布的情况下绘制垂直线和水平线
。