QT Layouts und CSS
QT Layouts und CSS
Hallo zusammen,
ich habe eine Frage bezüglich Layouts. Die für GUI Designs definierten QLayouts erfüllen ja die Standards der verschiedenen Betriebssysteme (was ja auch korrekt so ist). Dennoch suche ich eine Möglichkeit diese per CSS Stylesheet (externes Stylesheet) editierbar zu machen. Mein Problem liegt darin, dass die Anwendung bei einer kleinen Bildschirmauflösung auf dem Monitor darstellbar sein soll. Meine Idee war die über externe Stylesheets zu realisieren.
Gibt es eine Möglihkeit ein z.B. QFormLayout per Stylesheet anzusprechen. Wenn ja, wo muss ich in der Doku suchen ;-)
Danke für die Infos, Grüße
ich habe eine Frage bezüglich Layouts. Die für GUI Designs definierten QLayouts erfüllen ja die Standards der verschiedenen Betriebssysteme (was ja auch korrekt so ist). Dennoch suche ich eine Möglichkeit diese per CSS Stylesheet (externes Stylesheet) editierbar zu machen. Mein Problem liegt darin, dass die Anwendung bei einer kleinen Bildschirmauflösung auf dem Monitor darstellbar sein soll. Meine Idee war die über externe Stylesheets zu realisieren.
Gibt es eine Möglihkeit ein z.B. QFormLayout per Stylesheet anzusprechen. Wenn ja, wo muss ich in der Doku suchen ;-)
Danke für die Infos, Grüße
Laout glaub ich eher weniger aber du kannst widgets verändern:
http://doc.trolltech.com/4.3/stylesheet-examples.html
http://doc.trolltech.com/4.3/stylesheet-examples.html
Hi,
danke für die Antwort. Ja die Layouts über CSS manipulieren ist auch denke ich mal nicht vorgesehen, da sie ja Standarts erfüllen sollen. Anpassungen von Widgets per CSS funktioniert super, nur leider habe ich keinen Zugriff auf z.B. das padding, da diese Eigenschaft ja von den Layouts gesteuert wird.
Aber vielleicht gibts ja doch was um diese zu überschreiben, oder einen Trick mit dem ich an die Layouteigenschaften per CSS komme?
danke für die Antwort. Ja die Layouts über CSS manipulieren ist auch denke ich mal nicht vorgesehen, da sie ja Standarts erfüllen sollen. Anpassungen von Widgets per CSS funktioniert super, nur leider habe ich keinen Zugriff auf z.B. das padding, da diese Eigenschaft ja von den Layouts gesteuert wird.
Aber vielleicht gibts ja doch was um diese zu überschreiben, oder einen Trick mit dem ich an die Layouteigenschaften per CSS komme?
Hallo :)
doch doch, hab deinen Link gelesen, aber ich glaube ich hab mein problem nicht ganz richtig beschrieben.
Zunächst, du hast recht, die padding Eigenschaft gibt es dort schon. Das kommt daher das QMenuBar von QWidget abgeleitet ist und somit auch die Style - Eigenschaften von QWidget erbt.
Was ich benötige wäre folgendes. Zum erstellen der GUI gibt es seitens QT vorgefertigte Layouts ( QGridLayout, QBoxLayout, ... usw). Diese Layouts haben im Designer Style - Eigenschaften wie "LayoutTopMargin". Das wären die Eigenschaften, die ich gerne per CSS ansprechen würde.
Warum es nicht funktioniert weiß ich. Die vorgefertigten Layouts sind von QLayout und weiter von QObject abgeleitet und haben deswegen keine Stylesheet Unterstützung. Aber ich würde sie dennoch gerne per Stylesheet überschreiben.
Grund ist die Darstellung einer Anwendung mit vielen Informationen auf einer kleinen Bildschirmauflösung unter verschiedenen Betriebssystemen.
So jetzt hoffe ich, das ich es nun richtig beschrieben habe, und bitte korrigieren wenn ich was falsches erzählt habe.
:wink:
doch doch, hab deinen Link gelesen, aber ich glaube ich hab mein problem nicht ganz richtig beschrieben.
Zunächst, du hast recht, die padding Eigenschaft gibt es dort schon. Das kommt daher das QMenuBar von QWidget abgeleitet ist und somit auch die Style - Eigenschaften von QWidget erbt.
Was ich benötige wäre folgendes. Zum erstellen der GUI gibt es seitens QT vorgefertigte Layouts ( QGridLayout, QBoxLayout, ... usw). Diese Layouts haben im Designer Style - Eigenschaften wie "LayoutTopMargin". Das wären die Eigenschaften, die ich gerne per CSS ansprechen würde.
Warum es nicht funktioniert weiß ich. Die vorgefertigten Layouts sind von QLayout und weiter von QObject abgeleitet und haben deswegen keine Stylesheet Unterstützung. Aber ich würde sie dennoch gerne per Stylesheet überschreiben.
Grund ist die Darstellung einer Anwendung mit vielen Informationen auf einer kleinen Bildschirmauflösung unter verschiedenen Betriebssystemen.
So jetzt hoffe ich, das ich es nun richtig beschrieben habe, und bitte korrigieren wenn ich was falsches erzählt habe.
:wink:
Hehe.... 
Ok was du machen kannst is aber die margins der Widgets zu verändern...
Ich weiss das dich das nicht zufrieden stellt 
Aber das das einzige was mit einfällt-du kannst nunmal mit den Styöesheets nur Widgets verändern,keine Layouts. Das heisst dein einziger weg ist der von mir beschriebene auch wenn der dir nicht hilft das spacing in deinemlayout wett zu machen!
EDIT:
Schau dir doch nochmal das hier an....und hier die Attribute ....
http://doc.trolltech.com/4.2/stylesheet.html
Ok was du machen kannst is aber die margins der Widgets zu verändern...
Code: Alles auswählen
QGroupBox {
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
stop: 0 #E0E0E0, stop: 1 #FFFFFF);
border: 2px solid gray;
border-radius: 5px;
margin-top: 1ex; /* leave space at the top for the title */
}
QGroupBox::title {
subcontrol-origin: margin;
subcontrol-position: top center; /* position at the top center */
padding: 0 3px;
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
stop: 0 #FFOECE, stop: 1 #FFFFFF);
}Aber das das einzige was mit einfällt-du kannst nunmal mit den Styöesheets nur Widgets verändern,keine Layouts. Das heisst dein einziger weg ist der von mir beschriebene auch wenn der dir nicht hilft das spacing in deinemlayout wett zu machen!
EDIT:
Schau dir doch nochmal das hier an....und hier die Attribute ....
http://doc.trolltech.com/4.2/stylesheet.html