【问题标题】:Calculating the exact needed height for a QTableWidget计算 QTableWidget 所需的确切高度
【发布时间】:2020-08-10 17:15:00
【问题描述】:

我想计算QTableWidget 需要的确切高度,以便不显示垂直滚动条。我现在做的是例如:

tableWidget->setMaximumHeight(tableWidget->horizontalHeader()->height()
                              + tableWidget->rowHeight(0) * 4
                              + 4);

对于这种情况,有 4 行相同的高度和 KDE 的 Breeze 样式集,这完全可以:

但是额外的 4 个像素似乎与样式有关,使用 Fusion 样式我得到的空间比我需要的多一点(参见最后一行,有 2 个不需要的白色像素):

有没有办法独立于或更好地考虑样式来计算所需的确切尺寸?

【问题讨论】:

  • 您可以检查当前样式(或仅以编程方式设置样式)并基于此,将 +4 偏移量设置为 0 如果比如style是fusion,可以通过QApplication::style()查看当前样式,也可以通过QApplication::setStyle()进行设置。
  • 好吧,使用这种方法,我必须处理所有样式……我需要能够在不知道使用哪种样式的情况下计算加法。

标签: c++ qt qt5 qtablewidget


【解决方案1】:

你可以通过“tableWidget->viewport()->height()”获取tableWidget的高度。

关于垂直滚动条,可以使用这个功能。

setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff)
Then, the vertical scrollbar will be permanently hidden.

【讨论】:

  • 也许视口高度实际上会有所帮助……我将检查小部件的高度减去视口高度是否是所需的像素添加。感谢您现在的提示:-)
  • 所需的附加像素实际上是(widget->height() - widget->horizo​​ntalHeader()->height() - widget->viewport()->height())。非常感谢:-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-04
  • 1970-01-01
  • 1970-01-01
  • 2014-07-19
  • 2011-09-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多