Details
-
Bug
-
Resolution: Invalid
-
Not Evaluated
-
None
-
5.3.0
-
None
-
Windows 7x64
uic 5.3.0
Description
After carefully inspecting the XML code, I am quite sure this is some sort of a bug. I have an UI file which promotes it's widgets to custom classes. This is done manually in QtDesigner and the relevant XML it produces looks like this:
main.ui
<customwidgets> <customwidget> <class>DataPoint</class> <extends>QWidget</extends> <header>../datapoint.h</header> <container>1</container> </customwidget> <customwidget> <class>DataPointForm</class> <extends>QWidget</extends> <header>../datapointform.h</header> <container>1</container> </customwidget> </customwidgets>
But the C++ header code then looks like this:
ui_main.h
#include "../datapointform.h" #include <QtCore/QVariant> #include <QtWidgets/QAction> #include <QtWidgets/QApplication> #include <QtWidgets/QButtonGroup> #include <QtWidgets/QFormLayout> #include <QtWidgets/QHeaderView> #include <QtWidgets/QLabel> #include <QtWidgets/QMainWindow> #include <QtWidgets/QPushButton> #include <QtWidgets/QVBoxLayout> #include <QtWidgets/QWidget> #include "../datapoint.h"
You can see that despite the fact both datapoint.h and datapointform.h are defined same way in the XML, they are included differently in C++.
Unless uic has some sort of cache, this is a weird bug. I added both the input and output to the attachment for verification.