QT qmake降低了我的自定义小部件名称

Chr*_*s K 3 c++ linux qt qt4

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

App.pro:

HEADERS += widgets/QScrollPane.h 
Run Code Online (Sandbox Code Playgroud)

来自mainform.ui的部分

<widget class="QScrollPane" name="ListView">
 <property name="geometry">
  <rect>
   <x>0</x>
   <y>0</y>
   <width>500</width>
   <height>490</height>
  </rect>
 </property>
</widget>
Run Code Online (Sandbox Code Playgroud)

ui_mainform.h文件:

 #include <QtGui/QStatusBar>
 #include <QtGui/QTabWidget>
 #include <QtGui/QWidget>
 #include <qscrollpane.h>
Run Code Online (Sandbox Code Playgroud)

这在Windows或Mac上并不是什么大不了的事,但在Linux上它是彻头彻尾的烦人.我可以创建一个符号链接来解决问题,但我想找到根本原因.

问候,-Chris

cha*_*lup 5

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

<customwidgets>
 <customwidget>
  <class>QScrollPane</class>
  <extends>QWidget or whatever class is QScrollPane parent</extends>
  <header>QScrollPane.h</header>
 </customwidget>
</customwidgets>
Run Code Online (Sandbox Code Playgroud)

应该做的伎俩(免责声明:仅在Windows Qt 4.6.1上测试).

我更喜欢在我的课程中使用所有小写文件名 - 我总是100%确定我不会被一些非100%的跨平台工具搞砸.