WindowAppUiTool.cpp 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #include "WindowAppUiTool.h"
  2. #include <QDrag>
  3. #include <QMimeData>
  4. WindowAppUiTool::WindowAppUiTool(QWidget* parent)
  5. : QListWidget(parent)
  6. {
  7. // 创建界面布局
  8. createLayouts();
  9. this->setDragEnabled(true);
  10. }
  11. WindowAppUiTool::~WindowAppUiTool()
  12. {
  13. }
  14. /// <summary>
  15. /// 创建界面布局
  16. /// </summary>
  17. void WindowAppUiTool::createLayouts()
  18. {
  19. QListWidgetItem*
  20. item = new QListWidgetItem(QIcon(":/image/control_lable.png"), "标签", this);
  21. item = new QListWidgetItem(QIcon(":/image/control_button.png"), "按钮", this);
  22. item = new QListWidgetItem(QIcon(":/image/control_checkbox.png"), "复选框", this);
  23. item = new QListWidgetItem(QIcon(":/image/control_radio.png"), "单选框", this);
  24. item = new QListWidgetItem(QIcon(":/image/control_group.png"), "组合框", this);
  25. item = new QListWidgetItem(QIcon(":/image/control_image.png"), "图像框", this);
  26. item = new QListWidgetItem(QIcon(":/image/control_edit.png"), "编辑框", this);
  27. item = new QListWidgetItem(QIcon(":/image/control_listbox.png"), "列表框", this);
  28. item = new QListWidgetItem(QIcon(":/image/control_combobox.png"), "下拉框", this);
  29. item = new QListWidgetItem(QIcon(":/image/control_value.png"), "数据框", this);
  30. item = new QListWidgetItem(QIcon(":/image/control_piechart.png"), "饼状图", this);
  31. item = new QListWidgetItem(QIcon(":/image/control_wavechart.png"), "曲线图", this);
  32. item = new QListWidgetItem(QIcon(":/image/control_table.png"), "数据表", this);
  33. item = new QListWidgetItem(QIcon(":/image/control_result.png"), "状态表", this);
  34. }
  35. /// <summary>
  36. /// 鼠标按下时获取用户拖拽的节点
  37. /// </summary>
  38. /// <param name="event"></param>
  39. void WindowAppUiTool::mouseMoveEvent(QMouseEvent* event)
  40. {
  41. //if (event->button() & Qt::LeftButton)
  42. {
  43. // 获取拖拽的节点
  44. //QListWidgetItem* pItem = this->itemAt(event->pos());
  45. // 拖动时的图标(实际应该是一个控件的缩略图)
  46. QPixmap pixmap(":/image/tree_item.png");
  47. // 设置拖拽信息
  48. QMimeData* mimeData = new QMimeData();
  49. //mimeData->setData("UITool", "123");
  50. // 执行拖动
  51. QDrag* drag = new QDrag(this);
  52. drag->setMimeData(mimeData);
  53. drag->setPixmap(pixmap);
  54. drag->exec(Qt::CopyAction);
  55. }
  56. QListWidget::mousePressEvent(event);
  57. }