basicproperty.cpp 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. #include "basicproperty.h"
  2. #include "ui_basicproperty.h"
  3. #include "collectionwindow.h"
  4. #include "statusconfiguration.h"
  5. #include "containerpool.h"
  6. #include <QFileDialog>
  7. #include <QDragEnterEvent>
  8. #include <QMimeData>
  9. #include <QUrl>
  10. #include <QTableView>
  11. #include <QStandardItemModel>
  12. #include <iostream>
  13. //TODO:左侧添加列表,支持添加删除元素,右边的UI保持不变,设计数据类存储元素对应的数据
  14. BasicProperty::BasicProperty(QWidget *parent) :
  15. QMainWindow(parent),
  16. ui(new Ui::BasicProperty)
  17. {
  18. ui->setupUi(this);
  19. QPixmap pix("/Users/menglanluo/pic.png");
  20. ui->label_pic->setPixmap(pix.scaled(50,50,Qt::KeepAspectRatio));
  21. ui->tabWidget_collection->addTab(new CollectionWindow(),"mallColl");
  22. ui->tabWidget_status->addTab(new StatusConfiguration(),"1");
  23. ui->tabWidget_container->addTab(new ContainerPool(),"pool1");
  24. this->setAcceptDrops(true);
  25. resource = new QLineEdit(this);
  26. resource->setAcceptDrops(false);
  27. ui->tableWidget_animation->setHorizontalHeaderLabels({"名称","资源","时间线","z-Order"});
  28. // ui->tableWidget_animation->insertRow(0);
  29. // ui->tableWidget_animation->setCellWidget(0,0,new QLineEdit);
  30. // ui->tableWidget_animation->setCellWidget(0,1,new QLineEdit);
  31. }
  32. BasicProperty::~BasicProperty()
  33. {
  34. delete ui;
  35. delete resource;
  36. }
  37. void BasicProperty::on_pushButton_chooseFile_clicked()
  38. {
  39. QString file_name = QFileDialog::getOpenFileName(this,"Open a file",QDir::homePath());
  40. QPixmap pix(file_name);
  41. ui->label_pic->setPixmap(pix.scaled(50,50,Qt::KeepAspectRatio));
  42. }
  43. void BasicProperty::dragEnterEvent(QDragEnterEvent *event)
  44. {
  45. if(event->mimeData()->hasUrls()){
  46. event->acceptProposedAction();
  47. }
  48. else{
  49. event->ignore();
  50. }
  51. }
  52. void BasicProperty::dropEvent(QDropEvent *event)
  53. {
  54. const QMimeData *mimeData = event->mimeData();
  55. if(mimeData->hasUrls()){
  56. QList<QUrl> urls = mimeData->urls();
  57. QString urlName = urls.at(0).toLocalFile();
  58. QString fileName = urlName;
  59. resource->setText(fileName);
  60. }
  61. }
  62. //TODO: 添加表格对应的元素
  63. void BasicProperty::on_pushButton_addAnimation_clicked()
  64. {
  65. // QLineEdit *nameLine = new QLineEdit(this);
  66. // QLineEdit *re = new QLineEdit(this);
  67. // re->setAcceptDrops(false);
  68. int rowNum = ui->tableWidget_animation->rowCount();
  69. ui->tableWidget_animation->insertRow(rowNum);
  70. ui->tableWidget_animation->setCellWidget(rowNum,0,new QLineEdit);
  71. ui->tableWidget_animation->setCellWidget(rowNum,1,resource);
  72. }