//在便捷类中启动拖放
//设置选择模式为单选
listWidget.setSelectionMode(QAbstractItemView::SingleSelection);
//启用拖动
listWidget.setDragEnabled(true);
//设置接受拖放
listWidget.viewport()->setAcceptDrops(true);
//设置显示将要放置的位置
listWidget.setDropIndicatorShown(true);
//设置拖放模式为移动项目,如果不设置,默认为复制项目
listWidget.setDragDropMode(QAbstractItemView::InternalMove);
tableWidget.move(1000,100);
拖动a,b或c3看效果
pro文件:
QT+=widgets SOURCES += \ main.cpp
main.cpp
#include#include#include#include#includeint main(int argc, char *argv[]) { QApplication app(argc,argv); QListWidget listWidget; //一种添加项目的简便方法 new QListWidgetItem("a",&listWidget); //添加项目的另一种方法,这样还可以进行各种设置 QListWidgetItem *listWidgetItem=new QListWidgetItem; listWidgetItem->setText("b"); listWidgetItem->setIcon(QIcon("../src16_10modelview2/mudan.png"));// ../是cpp的当前目录 listWidgetItem->setToolTip("this is b"); listWidget.insertItem(1,listWidgetItem); QListWidgetItem *listWidgetItem2=new QListWidgetItem("c3"); listWidget.insertItem(2,listWidgetItem2); //倒序排序 listWidget.sortItems(Qt::DescendingOrder); listWidget.show(); listWidget.move(300,100); //QTreeWidget使用方法 QTreeWidget treeWidget; //必须设置列数 treeWidget.setColumnCount(2); //设置标头 QStringList headers; headers<<"name"<<"year"; treeWidget.setHeaderLabels(headers); //添加项目 QTreeWidgetItem *grade1=new QTreeWidgetItem(&treeWidget); grade1->setText(0,"Grade1"); QTreeWidgetItem *student=new QTreeWidgetItem(grade1); student->setText(0,"Tom"); student->setText(1,"1986"); QTreeWidgetItem *grade2=new QTreeWidgetItem(&treeWidget,grade1); //指定grade1为它的前一个项目 grade2->setText(0,"Grade2"); QTreeWidgetItem *student2=new QTreeWidgetItem(grade2); student2->setText(0,"Tom2"); student2->setText(1,"1983"); QTreeWidgetItem *grade3=new QTreeWidgetItem(&treeWidget,grade2); //指定grade1为它的前一个项目 grade3->setText(0,"Grade3"); QTreeWidgetItem *student3=new QTreeWidgetItem(grade3); student3->setText(0,"Tom3"); student3->setText(1,"1988"); //删除当前的项目 //先获取当前项目的父项目 // QTreeWidgetItem *parent=currentItem->parent(); // int index; // if(parent) // { // index=parent->indexOfChild(treeWidget->currentItem()); // delete parent->takeChild(index); // } // else // { // index=treeWidget.indexOfTopLevelItem(treeWidget->currentItem()); // delete treeWidget.takeTopLevelItem(index); // } // //在当前项目之后添加新的项目 // QTreeWidgetItem *parent=currentItem->parent(); // QTreeWidgetItem *newItem; // if(parent) // { // newItem=new QTreeWidgetItem(parent,treeWidget->currentItem()); // } // else // { // newItem=new QTreeWidgetItem(treeWidget,treeWidget->currentItem()); // } treeWidget.show(); treeWidget.move(700,100); //项目视图便捷类QTableWidget QTableWidget tableWidget(3,2);//创建表格部件,同时指定行数和列数 //创建表格项目,并插入到指定单元 QTableWidgetItem *tableWidgetItem=new QTableWidgetItem("qt"); QTableWidgetItem *tableWidgetItem2=new QTableWidgetItem("cd001"); QTableWidgetItem *tableWidgetItem22=new QTableWidgetItem("cd002"); QTableWidgetItem *tableWidgetItem222=new QTableWidgetItem("cd003"); tableWidget.setItem(1,1,tableWidgetItem); tableWidget.setItem(0,0,tableWidgetItem2); tableWidget.setItem(1,0,tableWidgetItem22); tableWidget.setItem(2,0,tableWidgetItem222); //创建表格项目,并将它们作为标头 QTableWidgetItem *headerV=new QTableWidgetItem("first"); // tableWidget.setVerticalHeaderItem(0,headerV); QTableWidgetItem *headerH=new QTableWidgetItem("ID"); tableWidget.setHorizontalHeaderItem(0,headerH); QTableWidgetItem *header2=new QTableWidgetItem("Language"); tableWidget.setHorizontalHeaderItem(1,header2); tableWidget.show(); //在便捷类中启动拖放 //设置选择模式为单选 listWidget.setSelectionMode(QAbstractItemView::SingleSelection); //启用拖动 listWidget.setDragEnabled(true); //设置接受拖放 listWidget.viewport()->setAcceptDrops(true); //设置显示将要放置的位置 listWidget.setDropIndicatorShown(true); //设置拖放模式为移动项目,如果不设置,默认为复制项目 listWidget.setDragDropMode(QAbstractItemView::InternalMove); tableWidget.move(1000,100); return app.exec(); }