QScintilla的滚动条默认是显示很大篇幅的,这个不太符合我们的自然习惯,人家别的编辑器也不这样。我还摸索了很久,如何解决。其实,解决方法很简单,自己去读qsciscintilla.h这个头文件(很重要,在里面,很大都能找到答案)就能发现了,就是设置滚动条 setScrollWidth 小一点就行了,默认是2000,当然会显示很大篇幅啦。
qDebug()<sciWidgetDefault->scrollWidth();
qDebug()<sciWidgetDefault->scrollWidthTracking();
ui->sciWidgetDefault->setScrollWidth(5);
ui->sciWidgetDefault->setScrollWidthTracking(true); //如果没有这行代码,那么我们缩小窗体,不会自动出现滚动条的
qDebug()<sciWidgetDefault->scrollWidth();
qDebug()<sciWidgetDefault->scrollWidthTracking();
输出
2000
false
5
true
//! For performance, QScintilla does not measure the display width of the
//! document to determine the properties of the horizontal scroll bar.
//! Instead, an assumed width is used. This sets the document width in
//! pixels assumed by QScintilla to \a pixelWidth. The default value is
//! 2000.
//!
//! \sa scrollWidth(), setScrollWidthTracking()
void setScrollWidth(int pixelWidth);