两个QListWidget之间拖拽数据效果:
1、创建
头文件
private slots:
void Receive_number(QList<int> list_number,int count,int type);//列表1拖动
void on_listWidget_customContextMenuRequested(const QPoint &pos);
void on_listWidget_customContextMenuRequested2(const QPoint &pos);
//快捷菜单
void Copy_single();
void Paste_single();
void Clear_single();
void Rename_single();
void Add_single();
void Delete_single();
void Refresh_single();
void Open_single();
public:
MyListWidget *listwidget1;//用户设备
MyListWidget *listwidget2;//用户电脑
void Imoprt_preset();//2导入1
void Export_preset();//1导出2
.cpp
//列表
void MainWindow::ListwidgetInit()
{
listwidget1 = new MyListWidget(this);
listwidget1->setObjectName("111");
listwidget1->resize(272,252);
listwidget1->move(96,165);
listwidget2 = new MyListWidget(this);
listwidget2->setObjectName("222");
listwidget2->resize(272,216);
listwidget2->move(96,468);
QStringList list;
list << "100" << "101" << "102" << "103" << "104" << "105"<< "106";
listwidget1->addItems(list);
listwidget1->sortItems();
QStringList list2;
list2 << "010" << "011" << "012" << "013" << "014" << "015"<< "016";
listwidget2->addItems(list2);
listwidget2->sortItems();
listwidget1->setCurrentRow(0);
listwidget2->setCurrentRow(0);
connect(listwidget1, SIGNAL(customContextMenuRequested(const QPoint)), this, SLOT(on_listWidget_customContextMenuRequested(const QPoint)));
connect(listwidget2, SIGNAL(customContextMenuRequested(const QPoint)), this, SLOT(on_listWidget_customContextMenuRequested2(const QPoint)));
listwidget1->setContextMenuPolicy(Qt::CustomContextMenu);
listwidget2->setContextMenuPolicy(Qt::CustomContextMenu);
connect(listwidget1,&MyListWidget::Sendnumber,this,&MainWindow::Receive_number);
connect(listwidget2,&MyListWidget::Sendnumber,this,&MainWindow::Receive_number);
//listwidget1->setFont();
listwidget1->setFocusPolicy(Qt::NoFocus);//去掉选中的虚线框
listwidget1->setStyleSheet("QListWidget{background:rgb(39,43,47,100%);color: rgba(141,141,141,1);font-size: 16px}"
"QListWidget::item{height:28px;border:0px;padding-bottom:8px; padding-left:15px;}"//36+8
"QListWidget::Item:hover{border-image: url(:/resource/img/list/preset_select_hover.png);color: rgba(255,255,255,1);}"//悬停
"QListWidget::Item:pressed{border-image: url(:/resource/img/list/preset_select.png);color: rgba(255,255,255,1);}"//按下
"QListWidget::item:selected:!active{border-image: url(:/resource/img/list/preset_select.png);color: rgba(255,255,255,1);}"//按下后当前活动控件不在列表中
"QListWidget::item:selected{border-image: url(:/resource/img/list/preset_select.png);color: rgba(255,255,255,1);}");//按下后鼠标移动到其它位置
//设置滚动条样式
listwidget1->verticalScrollBar()->setStyleSheet("QScrollBar:vertical"
"{"
"width:4px;"
"background:rgba(0,0,0,0%);"//滚动条背景
"margin:0px,0px,0px,0px;"
"padding-top:0px;"//留出9px给上面和下面的箭头
"padding-bottom:0px;"
"padding-left:0px;"
"padding-right:0px;"
"}"
"QScrollBar::handle:vertical"
"{"
"width:4px;"
"background:rgba(61,66,71,100%);"//正常时颜色
"border-radius:2px;"// 滚动条两端变成椭圆
"min-height:20;"
"}"
"QScrollBar::handle:vertical:hover"
"{"
"width:4px;"
"background:rgba(76,80,84,100%);"// 鼠标放到滚动条上的时候,颜色变深
"border-radius:2px;"
"min-height:20;"
"}"