最近刚刚接触Qt的编程,有个需求是需要两个EditText可以同步滚动,拖动其中一个滚动条时另一个也会滚动
先设计信号
QScrollBar *QSB_left=ui->plainTextEdit_left->verticalScrollBar();
QScrollBar *QSB_right=ui->plainTextEdit_right->verticalScrollBar();
connect(QSB_left,SIGNAL(valueChanged(int)),this,SLOT(leftScroll()));
//valueChanged()中要填int
connect(QSB_right,SIGNAL(valueChanged(int)),this,SLOT(rightScroll()));
设计槽
private slots:
void leftScroll();
void rightScroll();
定义函数
void MainWindow::leftScroll()
{
QScrollBar *QSB_left=ui->plainTextEdit_left->verticalScrollBar();
QScrollBar *QSB_right=ui->plainTextEdit_right->verticalScrollBar();
QSB_right->setValue(QSB_left->value());
}
void MainWindow::rightScroll()
{
QScrollBar *QSB_left=ui->plainTextEdit_left->verticalScrollBar();
QScrollBar *QSB_right=ui->plainTextEdit_right->verticalScrollBar();
QSB_left->setValue(QSB_right->value());
}
实现效果:
QQ录屏20220425151056