1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- #include "WindowAppUiTool.h"
- #include <QDrag>
- #include <QMimeData>
- WindowAppUiTool::WindowAppUiTool(QWidget* parent)
- : QListWidget(parent)
- {
- // 创建界面布局
- createLayouts();
- this->setDragEnabled(true);
- }
- WindowAppUiTool::~WindowAppUiTool()
- {
- }
- /// <summary>
- /// 创建界面布局
- /// </summary>
- void WindowAppUiTool::createLayouts()
- {
- QListWidgetItem*
- item = new QListWidgetItem(QIcon(":/image/control_lable.png"), "标签", this);
- item = new QListWidgetItem(QIcon(":/image/control_button.png"), "按钮", this);
- item = new QListWidgetItem(QIcon(":/image/control_checkbox.png"), "复选框", this);
- item = new QListWidgetItem(QIcon(":/image/control_radio.png"), "单选框", this);
- item = new QListWidgetItem(QIcon(":/image/control_group.png"), "组合框", this);
- item = new QListWidgetItem(QIcon(":/image/control_image.png"), "图像框", this);
- item = new QListWidgetItem(QIcon(":/image/control_edit.png"), "编辑框", this);
- item = new QListWidgetItem(QIcon(":/image/control_listbox.png"), "列表框", this);
- item = new QListWidgetItem(QIcon(":/image/control_combobox.png"), "下拉框", this);
- item = new QListWidgetItem(QIcon(":/image/control_value.png"), "数据框", this);
- item = new QListWidgetItem(QIcon(":/image/control_piechart.png"), "饼状图", this);
- item = new QListWidgetItem(QIcon(":/image/control_wavechart.png"), "曲线图", this);
- item = new QListWidgetItem(QIcon(":/image/control_table.png"), "数据表", this);
- item = new QListWidgetItem(QIcon(":/image/control_result.png"), "状态表", this);
- }
- /// <summary>
- /// 鼠标按下时获取用户拖拽的节点
- /// </summary>
- /// <param name="event"></param>
- void WindowAppUiTool::mouseMoveEvent(QMouseEvent* event)
- {
- //if (event->button() & Qt::LeftButton)
- {
- // 获取拖拽的节点
- //QListWidgetItem* pItem = this->itemAt(event->pos());
- // 拖动时的图标(实际应该是一个控件的缩略图)
- QPixmap pixmap(":/image/tree_item.png");
- // 设置拖拽信息
- QMimeData* mimeData = new QMimeData();
- //mimeData->setData("UITool", "123");
-
- // 执行拖动
- QDrag* drag = new QDrag(this);
- drag->setMimeData(mimeData);
- drag->setPixmap(pixmap);
- drag->exec(Qt::CopyAction);
- }
-
- QListWidget::mousePressEvent(event);
- }
|