diff --git a/src/tools/uic/cpp/cppwriteinitialization.cpp b/src/tools/uic/cpp/cppwriteinitialization.cpp
index 9c2d7cbc2c6..e0d4bea5b96 100644
--- a/src/tools/uic/cpp/cppwriteinitialization.cpp
+++ b/src/tools/uic/cpp/cppwriteinitialization.cpp
@@ -1267,7 +1267,10 @@ void WriteInitialization::writeProperties(const QString &varName,
} else {
setFunction = QLatin1String("->setProperty(\"");
setFunction += propertyName;
- setFunction += QLatin1String("\", QVariant(");
+ setFunction += QLatin1String("\", QVariant");
+ if (p->kind() == DomProperty::Enum)
+ setFunction += QLatin1String("::fromValue");
+ setFunction += QLatin1Char('(');
}
QString varNewName = varName;
diff --git a/tests/auto/tools/uic/baseline/enumnostdset.ui b/tests/auto/tools/uic/baseline/enumnostdset.ui
new file mode 100644
index 00000000000..59e27b1be3f
--- /dev/null
+++ b/tests/auto/tools/uic/baseline/enumnostdset.ui
@@ -0,0 +1,39 @@
+
+
+ Form
+
+
+
+ 0
+ 0
+ 400
+ 300
+
+
+
+ Form
+
+
+
+
+ 100
+ 100
+ 100
+ 100
+
+
+
+ Qt::DashDotLine
+
+
+
+
+
+ WorldTimeClock
+ QWidget
+
+
+
+
+
+
diff --git a/tests/auto/tools/uic/baseline/enumnostdset.ui.h b/tests/auto/tools/uic/baseline/enumnostdset.ui.h
new file mode 100644
index 00000000000..89a8411b4a4
--- /dev/null
+++ b/tests/auto/tools/uic/baseline/enumnostdset.ui.h
@@ -0,0 +1,55 @@
+/********************************************************************************
+** Form generated from reading UI file 'enumnostdset.ui'
+**
+** Created by: Qt User Interface Compiler version 5.6.1
+**
+** WARNING! All changes made in this file will be lost when recompiling UI file!
+********************************************************************************/
+
+#ifndef ENUMNOSTDSET_H
+#define ENUMNOSTDSET_H
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include "worldtimeclock.h"
+
+QT_BEGIN_NAMESPACE
+
+class Ui_Form
+{
+public:
+ WorldTimeClock *worldTimeClock;
+
+ void setupUi(QWidget *Form)
+ {
+ if (Form->objectName().isEmpty())
+ Form->setObjectName(QStringLiteral("Form"));
+ Form->resize(400, 300);
+ worldTimeClock = new WorldTimeClock(Form);
+ worldTimeClock->setObjectName(QStringLiteral("worldTimeClock"));
+ worldTimeClock->setGeometry(QRect(100, 100, 100, 100));
+ worldTimeClock->setProperty("penStyle", QVariant::fromValue(Qt::DashDotLine));
+
+ retranslateUi(Form);
+
+ QMetaObject::connectSlotsByName(Form);
+ } // setupUi
+
+ void retranslateUi(QWidget *Form)
+ {
+ Form->setWindowTitle(QApplication::translate("Form", "Form", 0));
+ } // retranslateUi
+
+};
+
+namespace Ui {
+ class Form: public Ui_Form {};
+} // namespace Ui
+
+QT_END_NAMESPACE
+
+#endif // ENUMNOSTDSET_H