Dear Sir!
Qt Code:
  1. #ifndef UI_MAINWINDOW_H
  2. #define UI_MAINWINDOW_H
  3.  
  4. #include <QtCore/QVariant>
  5. #include <QtGui/QAction>
  6. #include <QtGui/QApplication>
  7. #include <QtGui/QButtonGroup>
  8. #include <QtGui/QLabel>
  9. #include <QtGui/QLineEdit>
  10. #include <QtGui/QMainWindow>
  11. #include <QtGui/QStatusBar>
  12. #include <QtGui/QToolBar>
  13. #include <QtGui/QWidget>
  14.  
  15. class Ui_MainWindow
  16. {
  17. public:
  18. QAction *actionRect;
  19. QWidget *centralwidget;
  20. QLineEdit *lineEditX;
  21. QWidget *widget;
  22. QLineEdit *lineEditY;
  23. QLineEdit *lineEditHeight;
  24. QLineEdit *lineEditWidth;
  25. QLabel *labelX;
  26. QLabel *labelY;
  27. QLabel *labelHeight;
  28. QLabel *labelWidth;
  29. QStatusBar *statusbar;
  30. QToolBar *toolBar;
  31.  
  32. void setupUi(QMainWindow *MainWindow)
  33. {
  34. if (MainWindow->objectName().isEmpty())
  35. MainWindow->setObjectName(QString::fromUtf8("MainWindow"));
  36. MainWindow->resize(824, 600);
  37. actionRect = new QAction(MainWindow);
  38. actionRect->setObjectName(QString::fromUtf8("actionRect"));
  39. actionRect->setIcon(QIcon(QString::fromUtf8("../undo/icons/rectangle.png")));
  40. centralwidget = new QWidget(MainWindow);
  41. centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
  42. lineEditX = new QLineEdit(centralwidget);
  43. lineEditX->setObjectName(QString::fromUtf8("lineEditX"));
  44. lineEditX->setGeometry(QRect(80, 40, 51, 31));
  45. widget = new QWidget(centralwidget);
  46. widget->setObjectName(QString::fromUtf8("widget"));
  47. widget->setGeometry(QRect(160, 10, 661, 501));
  48. QPalette palette;
  49. QBrush brush(QColor(255, 255, 255, 255));
  50. brush.setStyle(Qt::SolidPattern);
  51. palette.setBrush(QPalette::Active, QPalette::Base, brush);
  52. QBrush brush1(QColor(170, 255, 127, 255));
  53. brush1.setStyle(Qt::SolidPattern);
  54. palette.setBrush(QPalette::Active, QPalette::Window, brush1);
  55. palette.setBrush(QPalette::Inactive, QPalette::Base, brush);
  56. palette.setBrush(QPalette::Inactive, QPalette::Window, brush1);
  57. palette.setBrush(QPalette::Disabled, QPalette::Base, brush1);
  58. palette.setBrush(QPalette::Disabled, QPalette::Window, brush1);
  59. widget->setPalette(palette);
  60. widget->setAutoFillBackground(true);
  61. lineEditY = new QLineEdit(centralwidget);
  62. lineEditY->setObjectName(QString::fromUtf8("lineEditY"));
  63. lineEditY->setGeometry(QRect(80, 80, 51, 31));
  64. lineEditHeight = new QLineEdit(centralwidget);
  65. lineEditHeight->setObjectName(QString::fromUtf8("lineEditHeight"));
  66. lineEditHeight->setGeometry(QRect(80, 160, 51, 31));
  67. lineEditWidth = new QLineEdit(centralwidget);
  68. lineEditWidth->setObjectName(QString::fromUtf8("lineEditWidth"));
  69. lineEditWidth->setGeometry(QRect(80, 120, 51, 31));
  70. labelX = new QLabel(centralwidget);
  71. labelX->setObjectName(QString::fromUtf8("labelX"));
  72. labelX->setGeometry(QRect(50, 50, 21, 18));
  73. labelY = new QLabel(centralwidget);
  74. labelY->setObjectName(QString::fromUtf8("labelY"));
  75. labelY->setGeometry(QRect(50, 90, 17, 18));
  76. labelHeight = new QLabel(centralwidget);
  77. labelHeight->setObjectName(QString::fromUtf8("labelHeight"));
  78. labelHeight->setGeometry(QRect(30, 170, 47, 20));
  79. labelWidth = new QLabel(centralwidget);
  80. labelWidth->setObjectName(QString::fromUtf8("labelWidth"));
  81. labelWidth->setGeometry(QRect(30, 130, 41, 18));
  82. MainWindow->setCentralWidget(centralwidget);
  83. statusbar = new QStatusBar(MainWindow);
  84. statusbar->setObjectName(QString::fromUtf8("statusbar"));
  85. MainWindow->setStatusBar(statusbar);
  86. toolBar = new QToolBar(MainWindow);
  87. toolBar->setObjectName(QString::fromUtf8("toolBar"));
  88. MainWindow->addToolBar(Qt::TopToolBarArea, toolBar);
  89.  
  90. toolBar->addAction(actionRect);
  91.  
  92. retranslateUi(MainWindow);
  93.  
  94. QMetaObject::connectSlotsByName(MainWindow);
  95. } // setupUi
  96.  
  97. void retranslateUi(QMainWindow *MainWindow)
  98. {
  99. MainWindow->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", 0, QApplication::UnicodeUTF8));
  100. actionRect->setText(QApplication::translate("MainWindow", "Rect", 0, QApplication::UnicodeUTF8));
  101. labelX->setText(QApplication::translate("MainWindow", "X", 0, QApplication::UnicodeUTF8));
  102. labelY->setText(QApplication::translate("MainWindow", "Y", 0, QApplication::UnicodeUTF8));
  103. labelHeight->setText(QApplication::translate("MainWindow", "Height", 0, QApplication::UnicodeUTF8));
  104. labelWidth->setText(QApplication::translate("MainWindow", "Width", 0, QApplication::UnicodeUTF8));
  105. toolBar->setWindowTitle(QApplication::translate("MainWindow", "toolBar", 0, QApplication::UnicodeUTF8));
  106. } // retranslateUi
  107.  
  108. };
  109.  
  110. namespace Ui {
  111. class MainWindow: public Ui_MainWindow {};
  112. } // namespace Ui
  113.  
  114. #endif // UI_MAINWINDOW_H
  115.  
  116.  
  117.  
  118. #ifndef MAINWINDOW_H
  119. #define MAINWINDOW_H
  120. #include <QMainWindow>
  121. #include "ui_mainwindow.h"
  122. #include <QGridLayout>
  123. class MainWindow: public QMainWindow, public Ui_MainWindow
  124. {
  125. Q_OBJECT
  126.  
  127. public:
  128. MainWindow(QWidget *parent = 0);
  129. QWidget *wd[100];
  130. QGridLayout *layout;
  131. private slots:
  132. void newRect();
  133.  
  134. };
  135. #endif // MAINWINDOW_H
  136.  
  137. //mainwindow.cpp
  138. #include "mainwindow.h"
  139.  
  140. int num;
  141. MainWindow::MainWindow(QWidget *parent)
  142. : QMainWindow(parent)
  143. {
  144. setupUi(this);
  145. num=1;
  146. layout = new QGridLayout();
  147. connect(actionRect, SIGNAL(triggered()), this, SLOT(newRect()));
  148.  
  149. }
  150.  
  151. void MainWindow::newRect()
  152. {
  153. wd[num] = new QWidget(widget);
  154.  
  155. layout->addWidget(wd[num]);
  156. widget->setLayout(layout);
  157. wd[num]->show();
  158. lineEditX->setText( QString::number(wd[num]->x()));
  159. lineEditY->setText( QString::number(wd[num]->y()));
  160. lineEditWidth->setText( QString::number(wd[num]->width()));
  161. lineEditHeight->setText( QString::number(wd[num]->height()));
  162. num++;
  163.  
  164. }
To copy to clipboard, switch view to plain text mode 

The code is as above.
It displays the coordinates in its QLineEdit; but not displays the run time QWidget wd[num].
What should I do for that?