Forum: PC-Programmierung Spezielle GUI mit C, GTK+ oder?


von helga (Gast)


Lesenswert?

Hallo,

ich habe eine Frage bezüglich der Programmierung einer GUI unter C. 
Bisher habe ich wenig Erfahrung, ein paar Experimente mit GTK+, das war 
es dann auch schon. Bezüglich der folgenden Problemstellung würde mich 
eure Meinung und gegebenenfalls auch weiterführende Links interessieren, 
ob das entsprechende Problem beispielsweise mit GTK+ bewältigt werden 
kann oder ein anderer Lösungsansatz vorteilhafter wäre.

Problemstellung:

Innerhalb einer graphischen Oberfläche soll ein Koordinatensystem 
zugrunde liegen, auf dem unter Verwendung der ensprechenden Koordinaten 
weitere Objekte gezeichnet werden und zudem auch dynamisch entsprechend 
neuer Koordinaten neu gezeichnet werden können.

Für eine umfangreiche Einarbeitung bezüglich der Auswahl einer 
sinnvollen Vorgehensweise fehlt mir leider die Zeit. Vielleicht hat von 
euch schon einmal jemand etwas ähnliches realisiert und kann mir 
dementsprechend weiter helfen.
Ich bin für alle Vorschläge offen und dankbar.

von Εrnst B. (ernst)


Lesenswert?

Kurze Antwort: Ja das geht mit GTK+.

Eine Frage:
> ... weitere Objekte gezeichnet werden ...
Was ist hier mit Objekte gemeint? Eher GUI-Elemente (Buttons, 
Eingabefelder, …) oder Graphikelemente (Kreise, Linien, …)

Falls GUI: Beispiel-Code gibts hier: http://glade.gnome.org/
Falls Graphik: http://www.inkscape.org/

von helga (Gast)


Lesenswert?

Vielen Dank erst einmal für die schnelle Antwort und entsprechende 
Verweise .
>Was ist hier mit Objekte gemeint? Eher GUI-Elemente (Buttons,
>Eingabefelder, …) oder Graphikelemente (Kreise, Linien, …)

Genauer gesagt handelt es sich um zwei unterschiedliche 
Problemstellungen. Generell sind aber keine klassische Elemente wie 
Buttons usw. gemeint. Vielmehr soll es sich um entsprechende 
Grafikelemente handeln. Diese sollen:

1. Statisch auf einem zugrunde liegenden Koordinatensystem innerhalb 
eines   Windows, Widgets (wie auch immer) gezeichnet werden. Außer der 
relativen Position innerhalb dieses Koordinatensystems beinhalten diese 
Elemente auch eine entsprechende Dimension. Kurz gesagt: Einfache 
grafische Elemente (Rechtecke reichen) sollen auf Basis dieses 
Koordinatensystems fest abgebildet werden (im optimalen Fall werden 
diese grundlegenden grafischen Elemente beispielsweise durch 
entsprechende Bilder ersetzt).

2. Problem: Grafische Primitive wie beispielsweise Rechtecke sollen sich 
(wieder einmal dem zugrunde liegenden Koordinatensystem) durch eine 
stetige Aktualisierung der Koordinaten über den Bildschirm bewegen.

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Ich an Deiner Stelle würde mir mal Tcl/Tk angucken.

Bei Tk (dem grafischen Toolkit von Tcl) gibt es das sog. "canvas", eine 
Art Leinwand, in der Du Objekte (Linien, Text, Rechtecke, kreise, 
Bilder, aber auch Buttons usw.) kinderleicht zeichnen und 
manipulieren/verknüpfen kannst.

Das scheint mir für Deine Aufgabe geradezu ideal zu sein.

Chris

von Εrnst B. (ernst)


Lesenswert?

Geht wohl mit jedem Widget-Toolkit.

Vorschlag: google nach irgendeinem GTK-"Hello World" Programm.
Änder es ab:
Statt statisch einen "Hello World" Button/Label zu erstellen, einfach 
verschiedene Dinge erstellen und positionieren.

Wenn das geht: C-Grundlagen über Schleifen und Arrays lernen, Elemente 
dynamisch erzeugen.

von Gast (Gast)


Lesenswert?

TCL/TK mit der Erweiterung BLT hat Graphen (sich dynamisch anpassende 
Koordinatensysteme) usw. schon drin. http://blt.sourceforge.net/

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.