深圳专业建网站,自定义wordpress背景图片,网站开发个人简历,网站发布方式有哪些1.相关说明 1.设置widget或view的拖拽和放置模式函数setDragDropMode参数说明#xff0c;NoDragDrop(无拖拽和放置)、DragOnly(只允许拖拽)、DropOnly(只允许放置)、DragDrop(允许拖拽和放置)、InternalMove(只移动不复制) 2.设置widget或view的放置动作函数setDefaultDropAct…1.相关说明 1.设置widget或view的拖拽和放置模式函数setDragDropMode参数说明NoDragDrop(无拖拽和放置)、DragOnly(只允许拖拽)、DropOnly(只允许放置)、DragDrop(允许拖拽和放置)、InternalMove(只移动不复制) 2.设置widget或view的放置动作函数setDefaultDropAction参数说明Qt::CopyAction(复制)、Qt::MoveAction(移动)、Qt::LinkAction(创建链接)、Qt::IgnoreAction(忽略什么都不做) 2.相关界面 3.相关代码
#include widget.h
#include ui_widget.h
#include QKeyEvent
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui-setupUi(this);ui-listSource-setAcceptDrops(true);ui-listSource-setDragEnabled(true);ui-listSource-setDefaultDropAction(Qt::CopyAction);ui-listSource-setDragDropMode(QAbstractItemView::DragDrop);ui-listWidget-setAcceptDrops(true);ui-listWidget-setDragEnabled(true);ui-listWidget-setDefaultDropAction(Qt::CopyAction);ui-listWidget-setDragDropMode(QAbstractItemView::DragDrop);ui-treeWidget-setAcceptDrops(true);ui-treeWidget-setDragEnabled(true);ui-treeWidget-setDefaultDropAction(Qt::CopyAction);ui-treeWidget-setDragDropMode(QAbstractItemView::DragDrop);ui-tableWidget-setAcceptDrops(true);ui-tableWidget-setDragEnabled(true);ui-tableWidget-setDefaultDropAction(Qt::MoveAction);ui-tableWidget-setDragDropMode(QAbstractItemView::DragDrop);m_itemView ui-listSource;refreshToUI(ui-groupBox_listSource);ui-listSource-installEventFilter(this);ui-listWidget-installEventFilter(this);ui-treeWidget-installEventFilter(this);ui-tableWidget-installEventFilter(this);
}Widget::~Widget()
{delete ui;
}void Widget::refreshToUI(QGroupBox *curGroupBox)
{ui-chkAcceptDrops-setChecked(m_itemView-acceptDrops());ui-chkDragEnabled-setChecked(m_itemView-dragEnabled());ui-comboDragDropMode-setCurrentIndex((int)m_itemView-dragDropMode());int index getDropActionIndex(m_itemView-defaultDropAction());ui-comboDefaultDropAction-setCurrentIndex(index);QFont font ui-groupBox_listSource-font();font.setBold(false);ui-groupBox_listSource-setFont(font);ui-groupBox_listWidget-setFont(font);ui-groupBox_treeWidget-setFont(font);ui-groupBox_tableWidget-setFont(font);font.setBold(true);curGroupBox-setFont(font);
}int Widget::getDropActionIndex(Qt::DropAction actionType)
{switch(actionType){case Qt::CopyAction: return 0;case Qt::MoveAction: return 1;case Qt::LinkAction: return 2;case Qt::IgnoreAction: return 3;default: return 0;}
}Qt::DropAction Widget::getDropActionType(int index)
{switch(index){case 0: return Qt::CopyAction;case 1: return Qt::MoveAction;case 2: return Qt::LinkAction;case 3: return Qt::IgnoreAction;default: return Qt::CopyAction;}
}// 设置listWidget对象
void Widget::on_radioListWidget_clicked()
{m_itemView ui-listWidget;this-refreshToUI(ui-groupBox_listWidget);
}
// 设置listSource对象
void Widget::on_radioListSource_clicked()
{m_itemView ui-listSource;this-refreshToUI(ui-groupBox_listSource);
}
// 设置treeWidget对象
void Widget::on_radioTreeWidget_clicked()
{m_itemView ui-treeWidget;this-refreshToUI(ui-groupBox_treeWidget);
}
// 设置tableWidget对象
void Widget::on_radioTableWidget_clicked()
{m_itemView ui-tableWidget;this-refreshToUI(ui-groupBox_tableWidget);
}
// 设置 acceptDrops
void Widget::on_chkAcceptDrops_clicked(bool checked)
{m_itemView-setAcceptDrops(checked);
}
// 设置 dragEnabled
void Widget::on_chkDragEnabled_clicked(bool checked)
{m_itemView-setDragEnabled(checked);
}
// dragDropMode选择
void Widget::on_comboDragDropMode_currentIndexChanged(int index)
{m_itemView-setDragDropMode((QAbstractItemView::DragDropMode)index);
}
// defaultDropAction
void Widget::on_comboDefaultDropAction_currentIndexChanged(int index)
{m_itemView-setDefaultDropAction(getDropActionType(index));
}// 事件捕获与过滤
bool Widget::eventFilter(QObject *watched, QEvent *event)
{if(event-type() ! QEvent::KeyPress){return QWidget::eventFilter(watched, event);}QKeyEvent *keyEvent static_castQKeyEvent*(event);if(keyEvent-key() ! Qt::Key_Delete){return QWidget::eventFilter(watched, event);}if(watched ui-listSource){delete ui-listSource-takeItem(ui-listSource-currentRow());}else if(watched ui-listWidget){delete ui-listWidget-takeItem(ui-listWidget-currentRow());}else if(watched ui-treeWidget){QTreeWidgetItem *curItem ui-treeWidget-currentItem();if(curItem-parent() ! NULL){curItem-parent()-removeChild(curItem);} else {int index ui-treeWidget-indexOfTopLevelItem(curItem);ui-treeWidget-takeTopLevelItem(index);}delete curItem;} else if(watched ui-tableWidget){delete ui-tableWidget-takeItem(ui-tableWidget-currentRow(), ui-tableWidget-currentColumn());}return true;
}