Ich möchte das wenn in einem QTextBrowser-Element was geladen ist das man da dann mit z.B. drücken der Leertaste eine Seite nach unten scrollt (also wie mit PageDown). habe da jetzt schon einiges Probiert, bekomme es aber nicht hin.
Ich habe jetzt mal versucht selber ein QKeyEvent Objekt zu erzeugen und das dann an das QTextBrowser Element zu übergeben, das bekomme ich aber auch nicht hin.
Du musst da selber nichts erzeugen. Das machen die Widgets schon fuer dich wenn eine Taste gedrueckt wird. Du musst einfach das keyPressEvent ueberschreiben:
C++:
void myClass::keyPressEvent(QKeyEvent* e) { if (e->ascii() == " ") { // hier kannst du scrollen. } }
-- All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
Aber ich habe da noch einige Fragen. 1. Ist in Deinem Beispiel oben myclass = ein Element QTextBrowser? Wenn ja muss das ja eine abgeleitete Klasse sein. Kann ich das Element dann nicht so so schick mit dem QTDesigner hin und herschieben?
2. Du schreibst "// hier kannst du scrollen" - aber genau das ist ja mein problem, wie scrolle ich denn??
1. Ist in Deinem Beispiel oben myclass = ein Element QTextBrowser? Wenn ja muss das ja eine abgeleitete Klasse sein. Kann ich das Element dann nicht so so schick mit dem QTDesigner hin und herschieben?
Richtig, aber ueber den Designer gibts eh sehr geteilte Meinungen. Ich verwende ihn laengst gar nicht mehr und finde, dass man damit besser faehrt. Du kannst aber aus deiner abgeleiteten Klasse auch ein CustomWidget im Designer machen und das dann da verwenden.
Zitat von killerjoe:
2. Du schreibst "// hier kannst du scrollen" - aber genau das ist ja mein problem, wie scrolle ich denn??
Einfach mal in die Hilfe schaun, da findest dann Slots wie scrollBy und setContentsPos