Seite 1 von 1

2 QTextedits mit einem Scrollbalken steuern

Verfasst: 14. Oktober 2009 10:40
von Weedjo
Hallo,

habe diese frage schon in einem anderen c++ forum gestellt, hab aber leider keine antwort bekommen, deshalb versuch ichs nochmal hier:

Ich möchte zwei QTextEditfelder nur mit einer Scrollbar bedienen (für einen Hexeditor, ein Feld für die ASCII Zeichen und eins für HEX)

Habe es wiefolgt versucht:

Code: Alles auswählen

ui->AusgabeHex->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
ui->AusgabeHex->setVerticalScrollBar(ui->AusgabeClear->verticalScrollBar());
ui->AusgabeClear->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); 




Wenn jetzt Daten in die Felder eingelesen werden, klappt es mit dem Scrollen super synchron.
Allerdings wird der Scrollbalken nicht korrekt angezeigt, sondern nur ein graues Kästchen. Bei Bedarf kann ich mal ein Screenshot uploaden

Wie kann ich mein Problem korrekt lösen?

Verfasst: 14. Oktober 2009 11:41
von macman
Schon mit einer eigenen Scrollbar versucht? Würde ich machen, bevor ich die Scrollbar des einen Widgets zusätzliche einem anderen zuweise.

Verfasst: 14. Oktober 2009 12:07
von N¤X
Das sieht für mich aber stark nach üblem Hack aus...
Lass doch jedem Widget seine eigene Scrollbar und verknüpf die einfach. Dabei musst du nur aufpassen, dass du keine Rekursionen baust bzw. die rechtzeitig abbrichst.
Das Prinzip: connecte das Signal "valueChanged(int)" von der einen mit dem Slot "setValue(int)" von der andern Scrollbar und andersrum. Da das jetzt aber zu ner Endlosrekursion führt baust du vor setValue noch irgendeine Funktion ein die den Wert nur setzt wenn er sich durchs setzen auch wirklich ändert. Hab ich bisher schon zweimal so gemacht und funktioniert beide Male super :)

Verfasst: 14. Oktober 2009 12:26
von upsala
Dafür gibt es dann sliderMoved und valueChanged.