//在便捷类中启动拖放
//设置选择模式为单选
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
#include
int 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;
headerssetText(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();
}