diff --git a/src/tools/uic/cpp/cppwriteinitialization.cpp b/src/tools/uic/cpp/cppwriteinitialization.cpp
index 38d6782e83..35431bac1e 100644
--- a/src/tools/uic/cpp/cppwriteinitialization.cpp
+++ b/src/tools/uic/cpp/cppwriteinitialization.cpp
@@ -2159,6 +2159,12 @@ void WriteInitialization::initializeTreeWidget(DomWidget *w)
const DomPropertyMap properties = propertyMap(column->elementProperty());
addCommonInitializers(&item, properties, i);
+
+ if (const DomProperty *p = properties.value(QLatin1String("text"))) {
+ DomString *str = p->elementString();
+ if (str && str->text().isEmpty())
+ m_output << m_indent << varName << "->headerItem()->setText(" << i << ", QString());\n";
+ }
}
const QString itemName = item.writeSetupUi(QString(), Item::DontConstruct);
item.writeRetranslateUi(varName + QLatin1String("->headerItem()"));
diff --git a/tests/auto/tools/uic/baseline/bug18156QTreeWidget.ui b/tests/auto/tools/uic/baseline/bug18156QTreeWidget.ui
new file mode 100644
index 0000000000..e74958010b
--- /dev/null
+++ b/tests/auto/tools/uic/baseline/bug18156QTreeWidget.ui
@@ -0,0 +1,83 @@
+
+
+ Dialog
+
+
+
+ 0
+ 0
+ 400
+ 300
+
+
+
+ Dialog
+
+
+ -
+
+
+
+
+
+
+
+
+ 4
+
+
+
+
+
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QDialogButtonBox::Cancel|QDialogButtonBox::Ok
+
+
+
+
+
+
+
+
+ buttonBox
+ accepted()
+ Dialog
+ accept()
+
+
+ 248
+ 254
+
+
+ 157
+ 274
+
+
+
+
+ buttonBox
+ rejected()
+ Dialog
+ reject()
+
+
+ 316
+ 260
+
+
+ 286
+ 274
+
+
+
+
+
diff --git a/tests/auto/tools/uic/baseline/bug18156QTreeWidget.ui.h b/tests/auto/tools/uic/baseline/bug18156QTreeWidget.ui.h
new file mode 100644
index 0000000000..5be6215888
--- /dev/null
+++ b/tests/auto/tools/uic/baseline/bug18156QTreeWidget.ui.h
@@ -0,0 +1,76 @@
+/********************************************************************************
+** Form generated from reading UI file 'bug18156QTreeWidget.ui'
+**
+** Created: Tue Nov 20 20:12:59 2012
+** by: Qt User Interface Compiler version 5.0.0
+**
+** WARNING! All changes made in this file will be lost when recompiling UI file!
+********************************************************************************/
+
+#ifndef BUG18156QTREEWIDGET_H
+#define BUG18156QTREEWIDGET_H
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+QT_BEGIN_NAMESPACE
+
+class Ui_Dialog
+{
+public:
+ QGridLayout *gridLayout;
+ QTreeWidget *treeWidget;
+ QDialogButtonBox *buttonBox;
+
+ void setupUi(QDialog *Dialog)
+ {
+ if (Dialog->objectName().isEmpty())
+ Dialog->setObjectName(QStringLiteral("Dialog"));
+ Dialog->resize(400, 300);
+ gridLayout = new QGridLayout(Dialog);
+ gridLayout->setObjectName(QStringLiteral("gridLayout"));
+ treeWidget = new QTreeWidget(Dialog);
+ treeWidget->headerItem()->setText(0, QString());
+ treeWidget->headerItem()->setText(2, QString());
+ treeWidget->setObjectName(QStringLiteral("treeWidget"));
+
+ gridLayout->addWidget(treeWidget, 0, 0, 1, 1);
+
+ buttonBox = new QDialogButtonBox(Dialog);
+ buttonBox->setObjectName(QStringLiteral("buttonBox"));
+ buttonBox->setOrientation(Qt::Horizontal);
+ buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok);
+
+ gridLayout->addWidget(buttonBox, 1, 0, 1, 1);
+
+
+ retranslateUi(Dialog);
+ QObject::connect(buttonBox, SIGNAL(accepted()), Dialog, SLOT(accept()));
+ QObject::connect(buttonBox, SIGNAL(rejected()), Dialog, SLOT(reject()));
+
+ QMetaObject::connectSlotsByName(Dialog);
+ } // setupUi
+
+ void retranslateUi(QDialog *Dialog)
+ {
+ Dialog->setWindowTitle(QApplication::translate("Dialog", "Dialog", 0));
+ QTreeWidgetItem *___qtreewidgetitem = treeWidget->headerItem();
+ ___qtreewidgetitem->setText(1, QApplication::translate("Dialog", "4", 0));
+ } // retranslateUi
+
+};
+
+namespace Ui {
+ class Dialog: public Ui_Dialog {};
+} // namespace Ui
+
+QT_END_NAMESPACE
+
+#endif // BUG18156QTREEWIDGET_H