05.12.2012 Aufrufe

Helmut Herold: Das Qt-Buch - Der millin Verlag

Helmut Herold: Das Qt-Buch - Der millin Verlag

Helmut Herold: Das Qt-Buch - Der millin Verlag

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!