2013-12-12 4 views
1

Как бы выполнить следующий штрих в HTML5 с использованием Python? Использую ли я Tkinter? Qt? WxWidgets? В какой-то другой библиотеке?Python Эквивалент холста HTML5

<!DOCTYPE html> 
<html> 
<body> 

<canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;"> 
</canvas> 

<script> 

var c = document.getElementById("myCanvas"); 
var ctx = c.getContext("2d"); 
ctx.beginPath(); 
ctx.moveTo(20,20); 
ctx.lineTo(20,100); 
ctx.lineTo(70,100); 
ctx.strokeStyle="red"; 
ctx.stroke(); 

</script> 

</body> 
</html> 

ответ

2

С использованием Tkinter можно использовать тип Canvas виджета. Вы не можете напрямую изменить цвет границы; Я не уверен, что это часть вопроса или нет. Вы можете легко нарисовать цветную рамку или поместить ее в цветную рамку, чтобы придать ей границу.

Чтобы создать линию, используйте метод create_line.

Вот пример:

import Tkinter as tk 

class Example(tk.Frame): 
    def __init__(self, root): 
     tk.Frame.__init__(self, root) 
     self.canvas = tk.Canvas(width=300, height=150,borderwidth=1) 
     self.canvas.pack(side="top", fill="both", expand=True) 
     points = (20,20,20,100,70,100) 
     self.canvas.create_line(points, fill="red") 

if __name__ == "__main__": 
    root = tk.Tk() 
    Example(root).pack(fill="both", expand=True) 
    root.mainloop() 
+0

Спасибо! Нет, цвет границы не имеет значения, но это полезная информация. –

+0

Это совершенно отдельный вопрос, но может ли холст быть сохранен как SVG? –

+1

@MarkRichman: нет встроенной поддержки svg, но объекты на холсте - это объекты, а не растровые изображения, а у холста хорошие возможности самоанализа. Это должно быть довольно прямолинейно, чтобы преобразовать содержимое холста в SVG. Я видел это в Tcl (например: http://wiki.tcl.tk/4534), но я не видел этого в python. –

Смежные вопросы