(Zählt Processing?__blackjack__ hat geschrieben: Sonntag 31. August 2025, 14:27 Keine Sprache kann „SVG-Dateien darstellen und speichern“. Zumindest kenne ich keine.

(Zählt Processing?__blackjack__ hat geschrieben: Sonntag 31. August 2025, 14:27 Keine Sprache kann „SVG-Dateien darstellen und speichern“. Zumindest kenne ich keine.
Ich dachte so, als 1. müsste ich die Mausklicks abfragen können > die x und y Punkte in Variable übernehmen > dann auf eine Zeichenfläche als Linie zeichnen. Da finde ich gar nichts zu.Wo Bist Du mit Svs=Text? Hast Du github?
Das ist meiner Meinung nach ungefähr so, als würdest du ein neues Haus bauen wollen und als Erstes damit anfangen, dir zu überlegen, welche Schrauben du wohl für die Fußleisten im Gästezimmer brauchst. Bei einem Projekt von der Komplexität eines CAD-Programms sollte man m.M.n. erst einmal überlegen, was das können soll und sich ein grundsätzliches Konzept für die Struktur etc. überlegen. Das sind gute Kenntnisse in Python, in OOP und dem gewählten GUI-Framework notwendig. Die GUI, wie man ein Mouse-Event abfängt und wie man da später mal SVG draus macht, sind doch relativ unwichtige Implementierungsdetails am Anfang.pyfopy hat geschrieben: Montag 1. September 2025, 11:28 Ich dachte so, als 1. müsste ich die Mausklicks abfragen können > die x und y Punkte in Variable übernehmen > dann auf eine Zeichenfläche als Linie zeichnen. Da finde ich gar nichts zu.
Code: Alles auswählen
#!/usr/bin/env python3
import tkinter as tk
class Window(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)
self.canvas = tk.Canvas(
self, width=640, height=480, background="white"
)
self.canvas.pack()
self.old_coords = None
self.bind("<ButtonPress-1>", self.on_button_press)
def on_button_press(self, event):
coords = (event.x, event.y)
if self.old_coords:
self.canvas.create_line(self.old_coords, coords, width=2)
self.old_coords = coords
def main():
Window().mainloop()
if __name__ == "__main__":
main()
Code: Alles auswählen
#!/bin/sh
# \
exec tclsh "$0" "$@"
package require Tk
set oldCoords ""
pack [tk::canvas .canvas -width 640 -height 480 -background white]
bind .canvas <ButtonPress-1> {
set newCoords [list %x %y]
if { $oldCoords != "" } then {
.canvas create line [concat $oldCoords $newCoords] -width 2
}
set oldCoords $newCoords
}
update idletasks
regexp {(\d+)x(\d+)} [wm geometry .] _ width height
puts "Breite: $width, Höhe: $height"