我在Linux和Windows上使用QT 4.6,在Linux上,它坚持要求通过qscrollpane.h包含我的QScrollPane。

App.pro:

HEADERS += widgets/QScrollPane.h

来自mainform.ui的部分



ui_mainform.h文件:
 #include <QtGui/QStatusBar>
 #include <QtGui/QTabWidget>
 #include <QtGui/QWidget>
 #include <qscrollpane.h>

在Windows或Mac上,这并不是什么大问题,但是在Linux上,这真是令人讨厌。我可以创建一个符号链接(symbolic link)来解决该问题,但是我想找到根本原因。

问候,
-克里斯

最佳答案

您需要提供有关自定义窗口小部件的更多信息。将以下内容添加到您的mainform.ui中:

<customwidgets>
 <customwidget>
  <class>QScrollPane</class>
  <extends>QWidget or whatever class is QScrollPane parent</extends>
  <header>QScrollPane.h</header>
 </customwidget>
</customwidgets>

应该可以解决问题(免责声明:仅在Windows Qt 4.6.1上测试)。

我更喜欢为类使用所有小写的文件名-我总是100%确信不会被某些非100%跨平台工具搞砸。

关于c++ - QT qmake小写我的自定义小部件名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2774567/

10-09 06:35