Helmut Herold: Das Qt-Buch - Der millin Verlag
Helmut Herold: Das Qt-Buch - Der millin Verlag
Helmut Herold: Das Qt-Buch - Der millin Verlag
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
3.3 Properties von Widgets<br />
3. durch Angabe einer der beiden Optionen -style=windows oder -style=motif<br />
auf der Kommandozeile beim Programmaufruf. Diese Möglichkeit funktioniert jedoch<br />
nur, wenn keine der beiden vorherigen Möglichkeiten verwendet wird.<br />
Neben den beiden hier erwähnten Stilarten QWindowsStyle (-style=windows) und<br />
QMotifStyle (-style=motif) bietet <strong>Qt</strong> noch weitere Stilarten (look and feel) an, die in<br />
Tabelle 3.1 gezeigt sind.<br />
Tabelle 3.1: Stilarten<br />
Klasse (Option) Stilart<br />
QMotifPlusStyle (-style=motifplus) Verbessertes Motif-look-and-feel<br />
QCDEStyle (-style=cde) CDE (Common Desktop Environment)<br />
QSGIStyle (-style=sgi) SGI-look-and-feel<br />
QPlatinumStyle (-style=platinum) Platinum (ähnlich MacIntosh-Stil)<br />
QMacStyle (-style=mac) Aqua-Stil von MacOS X<br />
QXPStyle (-style=xp) Windows XP-Stil auf Windows XP<br />
QCompactStyle (-style=compact) für <strong>Qt</strong>/Embedded (ähnlich QWindowsStyle)<br />
3.3 Properties von Widgets<br />
Objekte der Klassen, die von QObject abgeleitet sind, können so genannte Properties besitzen,<br />
die in den entsprechenden Seiten zu den jeweiligen Klassen in der Online-Dokumentation<br />
als eigener Unterpunkt angegeben sind. Properties sind lediglich Namen (Strings),<br />
denen entsprechende Methoden zum Setzen bzw. zum Erfragen bestimmter Widget-Eigenschaften<br />
oder auch andere Methoden zugeordnet sind. So hat die Klasse QSlider z. B.<br />
unter anderem eine Property int maxValue, der die Methode setMaxValue() zum<br />
Setzen des maximalen Werts eines Schiebebalkens zugeordnet ist. Somit ist es dann möglich,<br />
statt<br />
sliderObj->setMaxValue(50);<br />
auch Folgendes aufzurufen:<br />
sliderObj->setProperty("maxValue", 50);<br />
Da solcher Code aber nicht unbedingt lesbarer ist, ist von der Verwendung der Methode<br />
setProperty() abzuraten. Properties sind nur für Entwicklungswerkzeuge wie dem<br />
<strong>Qt</strong>-Designer vorgesehen, die explizit die angebotenen Eigenschaften (Properties) als Strings<br />
anbieten, um sie vom Benutzer auswählen zu lassen.<br />
Um eigene Properties zu definieren, muss man das Makro Q_PROPERTY() verwenden.<br />
Interessierte Leser seien hier auf die Online-Dokumentation verwiesen.<br />
Programm 3.1 erzeugt zwei Schiebebalken mit LCD-Anzeige, wobei die Eigenschaften des<br />
oberen Schiebebalkens und der zugehörigen LCD-Anzeige mit den entsprechenden Methoden<br />
gesetzt werden, während diese Eigenschaften für den unteren Schiebebalken und<br />
die zugehörige LCD-Anzeige mit setProperty() festgelegt werden (siehe auch Abbildung<br />
3.1).<br />
81