【问题标题】:QTableView::rect() and QTableView::geometry() not giving accurate resultsQTableView::rect() 和 QTableView::geometry() 没有给出准确的结果
【发布时间】:2016-06-29 18:05:41
【问题描述】:

我有一个 QTableView,我需要实现一些 page up page down 功能。

我通常将 QModelIndexes 传递给模型以确定它应该滚动到什么。

QModelIndex top = indexAt( rect().topLeft() ); // always good (row 0)
QModelIndex btm = indexAt( rect().bottomLeft() ); // always bad (last visible row + 4);

我已经对 rect().bottomLeft() 进行了一些处理,以便在可见时考虑 Horizo​​ntalScrollBar(),但它仍然偏离 3 行。它是宜居的,但并不理想。我敢肯定,当字体大小不同时,破解它并将其偏移静态行数会破坏它。

老实说,如果您可以告诉 QScrollBar 向上或向下滚动一个单步,我会很好,但显然这太有意义了。

【问题讨论】:

    标签: qt qtableview


    【解决方案1】:

    rect() 是什么?很可能您要求的是错误的。请记住,这些视图是滚动区域,您应该关注的 rect()viewport()

    【讨论】:

    • 对不起,我不清楚。那将是 QTableView::rect();
    • 而且,就像魔术一样,当我更改时,我执行 viewport()->rect()->bottomLeft() 它可以工作。干杯。
    猜你喜欢
    • 2020-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-23
    相关资源
    最近更新 更多