2017-02-21 1 views
0

Ich übe einige GUI-Programmierung. Ich möchte 2 qtextedit gleichzeitig scrollen.Signal für Scrollbar Wert in qtextedit geändert

mein Problem ist, konnte ich das SIGNAL für verticalscrollbarvaluechange nicht finden.

connect(ui->textEdit,SIGNAL(....),this,SLOT(scroll()); 

ich habe diesen Code für den SCHLITZ

void MainWindow::scroll() 
{ 

ui->textEdit->verticalScrollBar()->valueChanged(ui->textEdit2->verticalScrollBar()->value()); 
ui->textEdit2->verticalScrollBar()->valueChanged(ui->textEdit->verticalScrollBar()->value()); 

} 

auch ist es eine Möglichkeit, die Bildlaufleiste zu verbergen? lass es nur transparent aussehen, aber ist es immer noch da?

danke

Antwort

0

Sie keinen neuen Slot erstellen müssen Sie das Signal eines Scrollbar mit dem Schlitz des anderen und umgekehrt verwenden.

connect(ui->textEdit->verticalScrollBar(), SIGNAL(sliderMoved(int)), ui->textEdit_2->verticalScrollBar(), SLOT(setValue(int))); 
connect(ui->textEdit_2->verticalScrollBar(), SIGNAL(sliderMoved(int)), ui->textEdit->verticalScrollBar(), SLOT(setValue(int))); 
+0

Danke, Sir, es hat funktioniert! Ich verstehe jetzt. Dies löst auch mein Problem in meiner zweiten Frage, weil ich dachte, dass, wenn die Bildlaufleiste ausgeschaltet ist, würde es nicht scrollen, da es keine Bildlaufleiste gibt, aber es ist nicht der Fall –

+0

Wenn meine Antwort Ihnen hilft, markieren Sie es bitte korrekt. – eyllanesc

+0

Kann ich eine Folgefrage stellen? Wenn ich möchte, dass es ein Android-Gerät hochladen und nur ziehen, um zu scrollen, welches Ereignis sollte ich lesen? mit dem, den du mir gerade beigebracht hast, würde das gewünschte Ergebnis darin bestehen, durch das Textedit zu blättern und beide scrollen. –