我在图标模式下有一个带有大量图标的QListView,因此会出现一个滚动条,但是滚动不顺畅,这会让用户感到困惑,因为它会在每次滚动时突然从一个点跳到另一个点.我想使滚动顺利,但我没有在文档中找到任何内容.可能吗?
Gar*_*rwe 24
也许QListView.setVerticalScrollMode(QAbstractItemView :: ScrollPerPixel)
ser*_*nko 11
如果我正确理解您的问题,您可以重新定义窗口小部件的滚动行为.我想当用户点击滚动箭头(在下面的图像上标记为b)时,列表视图将按项目的高度滚动.
alt text http://qt.nokia.com/doc/4.6/images/qscrollbar-picture.png
对于连接到列表视图的垂直滚动条,滚动箭头通常向上或向下移动当前位置一个"线",并稍微调整滑块的位置.我相信在这种情况下,它是一个图标的高度.您可以通过安装和项目委托(setItemDelegate)并覆盖其sizeHint方法来调整项目高度.虽然这对你解决这个问题没有帮助.您可以尝试创建一个QListView后代并覆盖其updateGeometries方法.在那里你可以设置垂直滚动条步骤到你想要的值,我猜这个任务1或2.以下是自定义列表视图的示例:
class TestListView : public QListView
{
Q_OBJECT
public:
explicit TestListView(QWidget *parent = 0);
protected:
virtual void updateGeometries();
};
TestListView::TestListView(QWidget *parent) :
QListView(parent)
{
//???
}
void TestListView::updateGeometries()
{
QListView::updateGeometries();
verticalScrollBar()->setSingleStep(2);
}
Run Code Online (Sandbox Code Playgroud)
希望这有帮助,问候
归档时间: |
|
查看次数: |
7774 次 |
最近记录: |