mikrocontroller.net

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


Autor: helga (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht 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/

Autor: helga (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Chris D. (myfairtux) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Gast (Gast)
Datum:

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.