HI @ all!
Ich habe kein passendes Thema dazu gefunden, weswegen ich einen neuen Thread aufmache.
Wie im Betreff erwähnt möchte ich für meine GUI eine Art KonstantenDatei machen um dort Positionen, Scaliereungen, etc.. zu den verwendeten Elementen zu speichern. Praktisch sowas wie eine CSS-Datei bei HTML.
Grundgedanke ist der, dass ich dann nur noch diese "Template" - datei umändern muss um mein gesamtes Design umzuändern/anzupassen.
Nur weiß ich im Moment nicht wie an dieses Vorhaben herangehen sollte..
Muss ich dazu ein Library erstellen? Kann ich dass mit einem Header machen? Wie muss ich dann die Konstanten initialisieren?
Wie müsste das "Grundgerüst" für solch iene Datei aussehen?
Ich habe mir schon ein paar artikel zum thema Library durchgelesen, das hat sich aber alles einigermaßen aufwendig angehört. Wenn es möglich ist, dann sollte die Betreffende "Template" Datei bei meinem Sourcecode liegen und von dort auch direkt aufgerufen werden können.
HAt das von euch schoneinmal wer gemacht und/oder Ahnung davon?
Für eure Hilfe wäre ich sehr verbunden!
[solved] Konstanten header/datei?
[solved] Konstanten header/datei?
Zuletzt geändert von Abayo am 1. Oktober 2013 15:11, insgesamt 1-mal geändert.
Re: Konstanten header/datei?
Dann lies die mal alles zum Thema Stylesheet bei Qt durch. Das ist doch nahezu CSS!Praktisch sowas wie eine CSS-Datei bei HTML.
Gruß Sig
Re: Konstanten header/datei?
Die Stylesheets sind auf jeden Fall interessant, aber soweit ich gesehen habe lassen sich positionen für einzelne Widgets nicht einstellen.
Kann sein dass Css files nicht das sind was ich brauche, deswegen ergänze ich mal meine Angaben zur GUI.
Ich habe eine QGraphicsView in deren QGraphicsScene ich mehrere QGraphicsObjects und items anzeige.
Nun habe ich 2 Designs die sich eigentlich nur darin unterscheiden wo die untersch. Objekte positioniert sind. Hintergrundfarben und ähnliches setzte ich bisher immer manuell, da ich die paint funktion jeweils umschreibe.
Für die einzelnen Positionen die ich bisher immer mit festen koordinaten gesetzt habe wollte ich nun eine extra datei in der die konstanten drinstehen und auf die ich im Programm dann verweise.
Kann sein dass Css files nicht das sind was ich brauche, deswegen ergänze ich mal meine Angaben zur GUI.
Ich habe eine QGraphicsView in deren QGraphicsScene ich mehrere QGraphicsObjects und items anzeige.
Nun habe ich 2 Designs die sich eigentlich nur darin unterscheiden wo die untersch. Objekte positioniert sind. Hintergrundfarben und ähnliches setzte ich bisher immer manuell, da ich die paint funktion jeweils umschreibe.
Für die einzelnen Positionen die ich bisher immer mit festen koordinaten gesetzt habe wollte ich nun eine extra datei in der die konstanten drinstehen und auf die ich im Programm dann verweise.
Re: Konstanten header/datei?
Positionen lassen sich bestimmen mit Stylesheet
Als Header Datei:
Oder gleich z.B. als externe Textdatei die zur Laufzeit eingelesen wird. Wenn das alles so flexibel sein soll, wäre das doch die bessere Lösung!
Gruß Sig
Das mit den Stylesheets war aber auch nur als Anregung gedacht, damit lässt sich oft mehr erreichen als vorher gedacht.position:absolute;
left: 10px;
top: 2px;
height: 46px;
width: 46px;
Dann mach doch genau das!wollte ich nun eine extra datei in der die konstanten drinstehen
Als Header Datei:
Code: Alles auswählen
static int GraphicObject1_x = 48;
static int GraphicObject1_y = 148;
u.s.w.Gruß Sig
Re: Konstanten header/datei?
Also wenn ich es richtig verstanden habe möchtest du einfach nur einen Ort
für sämtliche konstanten Werte. Dies kannst du einfach in einer Header realisieren,
z.B. Konstanten.h .
Darin schreibst du dann einfach direkt deine Werte wie folgt, (mache ich z.B. immer für Schleifengrenzen usw.):
#define PI 3,1415 // Präprozessor Notation üblich in C , C++ Kompiler fressen das aber auch
besser
const float PI = 3,1415;
const int MAX_L_TRAVERSE = 25;
const int MAX_R_TRAVERSE = 25;
// usw. diese Header bindest du dann normal wie mit #include "Konstanten.h" da ein, wo du sie brauchst
für Stylesheet bietet sich das also auch an indem du width und length als const definierst
Gruß Mr.Crank
für sämtliche konstanten Werte. Dies kannst du einfach in einer Header realisieren,
z.B. Konstanten.h .
Darin schreibst du dann einfach direkt deine Werte wie folgt, (mache ich z.B. immer für Schleifengrenzen usw.):
#define PI 3,1415 // Präprozessor Notation üblich in C , C++ Kompiler fressen das aber auch
besser
const float PI = 3,1415;
const int MAX_L_TRAVERSE = 25;
const int MAX_R_TRAVERSE = 25;
// usw. diese Header bindest du dann normal wie mit #include "Konstanten.h" da ein, wo du sie brauchst
für Stylesheet bietet sich das also auch an indem du width und length als const definierst
Gruß Mr.Crank
Re: Konstanten header/datei?
Super, das waren genau die Antworten die ich gebraucht habe 
Ich war mir nicht sicher ob ich das nur ale header machen kann, da mein erster Versuch eine Fehlermeldung ausgegeben hat.
Das mit der Textdatei hört sich auch gut an. Muss ich aber erstmal schauen wie ich Dateien einlesen und benutzen kann (hab ich noch nicht gemacht).
Thx soweit!
Ich war mir nicht sicher ob ich das nur ale header machen kann, da mein erster Versuch eine Fehlermeldung ausgegeben hat.
Das mit der Textdatei hört sich auch gut an. Muss ich aber erstmal schauen wie ich Dateien einlesen und benutzen kann (hab ich noch nicht gemacht).
Thx soweit!