mainwindow.cpp 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #include "mainwindow.h"
  2. #include "ui_mainwindow.h"
  3. #include "basicproperty.h"
  4. #include <QListWidgetItem>
  5. #include <QListWidget>
  6. #include <QLabel>
  7. #include <iostream>
  8. #include <QHBoxLayout>
  9. MainWindow::MainWindow(QWidget *parent)
  10. : QMainWindow(parent)
  11. , ui(new Ui::MainWindow)
  12. {
  13. ui->setupUi(this);
  14. ui->tabWidget->addTab(new BasicProperty(),"木块障碍物");
  15. ui->tabWidget->addTab(new BasicProperty(),"邮箱");
  16. ui->tabWidget->addTab(new BasicProperty(),"草地");
  17. ui->tabWidget->addTab(new BasicProperty(),"彩绘蛋壳");
  18. QListWidgetItem *item = new QListWidgetItem;
  19. ui->listWidget->addItem(item);
  20. QWidget *w = new QWidget(ui->listWidget);
  21. //图标
  22. QLabel *label = new QLabel();
  23. QPixmap pix("/Users/menglanluo/菜狗.png");
  24. label->setPixmap(pix.scaled(15,15,Qt::KeepAspectRatio));
  25. //元素名称
  26. QLineEdit *edit = new QLineEdit();
  27. edit->setText("新增元素");
  28. QHBoxLayout *layout = new QHBoxLayout(w);
  29. layout->addWidget(label);
  30. layout->addWidget(edit);
  31. connect(edit,SIGNAL(editingfinished()),this,SLOT(on_lineEdit_editingFinished()));
  32. w->setLayout(layout);
  33. w->show();
  34. ui->listWidget->setItemWidget(item,w);
  35. }
  36. MainWindow::~MainWindow()
  37. {
  38. delete ui;
  39. }
  40. void MainWindow::on_lineEdit_editingFinished()
  41. {
  42. if(ui->lineEdit->isModified()){
  43. std::cout<<"finish editing"<<std::endl;
  44. std::cout<<"new text is:"<<qPrintable(ui->lineEdit->text())<<std::endl;
  45. }
  46. }
  47. void MainWindow::on_pushButton_addElem_clicked()
  48. {
  49. QListWidgetItem *item = new QListWidgetItem;
  50. ui->listWidget->addItem(item);
  51. QWidget *w = new QWidget;
  52. //图标
  53. QLabel *label = new QLabel(w);
  54. QPixmap pix("/Users/menglanluo/菜狗.png");
  55. label->setPixmap(pix.scaled(15,15,Qt::KeepAspectRatio));
  56. //元素名称
  57. QLineEdit *edit = new QLineEdit(w);
  58. edit->setText("新增元素");
  59. QHBoxLayout *layout = new QHBoxLayout;
  60. layout->addWidget(label);
  61. layout->addWidget(edit);
  62. // connect(edit,SIGNAL(editingfinished()),this,SLOT(on_lineEdit_editingFinished()));
  63. w->setLayout(layout);
  64. ui->listWidget->setItemWidget(item,edit);
  65. }
  66. void MainWindow::on_pushButton_addElem_released()
  67. {
  68. }