【问题标题】:what's wrong with setSectionResizeMode in qt?qt中的setSectionResizeMode有什么问题?
【发布时间】:2016-02-11 00:28:25
【问题描述】:

我在 Ubuntu 上使用 qt 5.1.1 已经 2 年了。现在我在上面安装 qt 5.5。 (我的意思是两个版本都存在于我的 Ubuntu 上) 实际上,这个版本的 Qt 框架并不像旧版本那样好用。 所以我想使用 qt 5.1.1 。

问题就在这里,现在我的代码出现以下错误:

代码:

_headerView->setSectionResizeMode(QHeaderView::Stretch);

错误:

... error: 'class QHeaderView' has no member named 'setSectionResizeMode'

我找到了this answer on this site。但实际上我不知道如何解决这个问题!它只是说它的原因。

PS:我希望这行代码将我的表格修复延伸到我的窗口。

【问题讨论】:

  • 尝试使用setResizeMode

标签: qt qtablewidget qt5.5 qt5.1 qheaderview


【解决方案1】:

当您的机器上安装了两个或多个版本的 qt 时,可能会发生此错误。
setResizeMode 是一个旧功能,在新版本中会覆盖并将其名称更改为 setSectionResizeMode 解决此问题的最安全方法问题是使用setSectionResizeMode,你可以确定它可以被任何 Qt 5 和更高版本使用。

【讨论】:

  • 我不明白这怎么能成为公认的解决方案。重点是 setResizeMode()setSectionResizeMode() 取代,并在 Qt 5.0 中被弃用——参见 doc.qt.io/qt-5/qheaderview-obsolete.html。至少到现在(Qt 5.7.1)setResizeMode() 不存在,所以说“解决这个问题的最安全方法是使用 setResizeMode ,你可以确定它可以被任何 Qt 5 及更高版本使用”是相当的错了,因为您肯定无法确定 Qt 5 或更高版本中仍然可以使用已弃用的函数。
  • @JonBrave 你是对的,我在上面修复了答案。 (我认为这基本上是一个错字。)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-09
  • 1970-01-01
  • 2020-12-02
相关资源
最近更新 更多