Qt:工作站上不同的tableWidget成员名称

时间:2013-09-03 12:21:59

标签: qt member qtablewidget

我在两台ubuntu机器上使用Qt,并且不时在它们之间复制源代码。这样做时我发现了一个非常恼人的问题,我无法弄清楚为什么会发生这种情况。

我使用表格小部件来显示一些数据,并希望拉伸水平标题以适应内容长度。为此,我使用以下行:

ui->tableWidget->horizontalHeader()->setResizeMode(0, QHeaderView::ResizeToContents);

这很好用。 我有一些这样的代码。 但是,当我现在将我的源代码复制到另一台PC上工作时,我得到以下编译错误:

  

'class QHeaderView'没有名为'setResizeMode'的成员

'setResizeMode'重命名为'setSectionResizeMode'可以很好地解决该问题,但如果我现在将源代码复制回第一台PC,它会告诉我:

  

'class QHeaderView'没有名为'setSectionResizeMode'的成员

...我必须再次将其重命名为'setResizeMode',才能继续工作。 我检查了两台PC上的Qt版本,它们都是“Qt Creator 2.7.0”,基于“Qt 5.0.1(32位)”。 系统也是最新的。 唯一的区别是,我使用英语系统语言中的一个,另一个用德语...但我不知道这会如何影响Qt的成员声明。 o.O

有谁知道问题是什么? 随着时间的推移,不断重命名会变得烦人。

1 个答案:

答案 0 :(得分:0)

可能是QT标题版本不匹配

仔细检查QT_VERSION_STR

中的QtCore/qglobal.h

快速检查一下你是否过于懒惰在代码中添加#pragma message("QT version: " QT_VERSION_STR)以便编译器在编译时输出