#include "WindowAppUiTool.h" #include #include WindowAppUiTool::WindowAppUiTool(QWidget* parent) : QListWidget(parent) { // 创建界面布局 createLayouts(); this->setDragEnabled(true); } WindowAppUiTool::~WindowAppUiTool() { } /// /// 创建界面布局 /// 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); } /// /// 鼠标按下时获取用户拖拽的节点 /// /// 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); }