Qt4: Scrollbar Up/Down Pfeile ausblenden

Alles rund um die Programmierung mit Qt
nando
Beiträge: 321
Registriert: 28. Oktober 2004 13:16

Qt4: Scrollbar Up/Down Pfeile ausblenden

Beitrag von nando »

Hi,

kann mir jemand sagen wie ich bei QScrollbars die Pfeile ausblenden kann?
Ich brauch nur den reinen slider ohne die buttons drumherum....


Gruss,
Nando
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Also einen QSlider...
nando
Beiträge: 321
Registriert: 28. Oktober 2004 13:16

Beitrag von nando »

ja schon,
aber die wie kann ich den setzen wenn es nur methoden gibt wie
setHorizontalScrollBar(QScrollBar*) ?

gruss,
nando
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Das kommt davon, wenn man nur die Hälfte der Informationen mitgibt...

Eine QScrollBar hat immer die 2/3 Pfeile an der Seite. Ich wüßte auch nicht warum die dem Benutzer wegnehmen sollte.
Troll.Soft
Beiträge: 190
Registriert: 18. Juni 2008 09:52
Wohnort: Hamburg

Beitrag von Troll.Soft »

nando hat geschrieben: aber die wie kann ich den setzen wenn es nur methoden gibt wie
setHorizontalScrollBar(QScrollBar*) ?
Nun, zu dem Zweck hat Bjarne das Casten erfunden.

Code: Alles auswählen

TableView->setVerticalScrollBar((QScrollBar*)new QSlider(this));
funktioniert ausgezeichnet
lepsai
Beiträge: 573
Registriert: 14. September 2004 21:33
Wohnort: Berlin
Kontaktdaten:

Beitrag von lepsai »

Troll.Soft hat geschrieben:
nando hat geschrieben: Nun, zu dem Zweck hat Bjarne das Casten erfunden.

Code: Alles auswählen

TableView->setVerticalScrollBar((QScrollBar*)new QSlider(this));
funktioniert ausgezeichnet

Gefährlich, gefährlich... Zu diesem Zweck hat Bjarne dynamic_cast<> erfunden... Nun leider ist QSlider nicht zu QScrollbar zu casten, da diese nicht in einer Vererbungsrelation zueinander stehen. Funktionieren kann diese "brutale" Methode nur daher, dass QSlider und QScrollBar von QAbstractSlider abgeleitet sind. Unter Annahme, dass in setVerticalScrollBar() tatsächlich nur Methoden von QAbstractSlider verwendet werden und unter günstigen Kompilervoraussetzungen wird dieser Code laufen. Aber sicher ist es nicht...

Übrigens, die Trolls hätten die Methode setVerticalScrollBar() schon mit QAbstractSlider definieren können. Verkehrt wäre das nicht... An sich ist QScrollBar überflüssig...
nando
Beiträge: 321
Registriert: 28. Oktober 2004 13:16

Beitrag von nando »

lepsai hat geschrieben: Übrigens, die Trolls hätten die Methode setVerticalScrollBar() schon mit QAbstractSlider definieren können. Verkehrt wäre das nicht... An sich ist QScrollBar überflüssig...

Genau, darauf wollte ich hinaus... Das heisst entweder casten
was gefaehrlich ist, oder man hat geloost.

Dann muss ich mir doch eine eigen ScrollBar implementieren.. was wieder mega Aufwand waere und somit wahrscheinlich rausfaellt...

Ueber CSS kann man die Pfeildinger auch nicht abstellen, oder?

Gruss,
Nando
lepsai
Beiträge: 573
Registriert: 14. September 2004 21:33
Wohnort: Berlin
Kontaktdaten:

Beitrag von lepsai »

nando hat geschrieben: Ueber CSS kann man die Pfeildinger auch nicht abstellen, oder?

Gruss,
Nando
Ich denke, schon... Das wäre auch am besten...
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

nando
Beiträge: 321
Registriert: 28. Oktober 2004 13:16

Beitrag von nando »

AuE hat geschrieben:Aus dem Stylesheet examples
http://doc.trolltech.com/4.3/stylesheet ... qscrollbar

und wo steht da, wie man die pfeile ausblendet?
kann ich leider nicht finden....
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

Da steht nicht wie man sie ausblendet....aber Bsp wie man sie verändert!!
cypher
Beiträge: 3
Registriert: 5. November 2009 17:47

Beitrag von cypher »

Scrollbar ableiten und aussehen umbauen..
Troll.Soft
Beiträge: 190
Registriert: 18. Juni 2008 09:52
Wohnort: Hamburg

Beitrag von Troll.Soft »

Hallo,
da ich mich irgendwann mal ausführlich mit den Stylesheets befassen muß, habe ich mal reingeschaut und untenstehenden Code getestet. Ich gebe zu, den Code habe ich nicht verstanden. Das Ergebnis ist allerdings beeindruckend. Es verschwindet fast alles und nur ein riesiger Button bleibt zurück.
viel Spaß beim Probieren
wenn Du es schaffst poste mal den Code

Code: Alles auswählen

this->setStyleSheet(" QScrollBar {border: 20px solid red; width: 30px; height: 30px; background: blue;}");
nando
Beiträge: 321
Registriert: 28. Oktober 2004 13:16

Beitrag von nando »

Troll.Soft hat geschrieben:Hallo,
da ich mich irgendwann mal ausführlich mit den Stylesheets befassen muß, habe ich mal reingeschaut und untenstehenden Code getestet. Ich gebe zu, den Code habe ich nicht verstanden. Das Ergebnis ist allerdings beeindruckend. Es verschwindet fast alles und nur ein riesiger Button bleibt zurück.
viel Spaß beim Probieren
wenn Du es schaffst poste mal den Code

Code: Alles auswählen

this->setStyleSheet(" QScrollBar {border: 20px solid red; width: 30px; height: 30px; background: blue;}");


wilkommen im club ;)

hab auch schon rumprobiert ... fast alles hinbekommen, nur nicht die pfeile ausgeblendet :(
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Wenn mir mal jemand den Sinn dieses Vorhabens erklärt, gibts vielleicht eine alternative einfache Lösung...
Antworten