我想将QScrollbar
滚动到中心;我觉得这很容易,但是
QScrollBar *bar = ui->scrollArea->horizontalScrollBar();
bar->setValue(bar->maximum()/2);
bar->update();
ui->scrollArea->update();
不能胜任这项工作。出了什么问题?
答案 0 :(得分:1)
在Qt的文档中,实际文档长度由
定义document length = maximum() - minimum()+ pageStep()(参见QScrollBar类参考)
所以尝试替换
int center = (min+max)/2;
与
int center = (max+min+bar->pagestep())/2;
答案 1 :(得分:0)
QScrollBar
也有最低限度。所以以滚动条为中心:
int max = bar->maximum();
int min = bar->minimum();
int center = ( min + max ) / 2;
bar->setValue( center );