1、视图效果
2、源码:
#include <QApplication>
#include <QListWidget>
#include <QTreeWidget>
#include <QTableWidget>
#include <QDebug>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
//QListWidget
QListWidget list_widget;
//一种添加项目的简便方法
new QListWidgetItem("a", &list_widget);
//添加项目的另一种方法,这样可以进行各种设置
QListWidgetItem *list_widget_item = new QListWidgetItem;
list_widget_item->setText("b");
list_widget_item->setIcon(QIcon(""));
list_widget_item->setToolTip("this is b!");
list_widget.insertItem(1, list_widget_item);
//设置排序为倒序
list_widget.sortItems(Qt::DescendingOrder);
list_widget.show();
//QTreeWidget,层次结构由QTreeWidget和QTreeWidgetItem控制
QTreeWidget tree_widget;
//必须设置列数
tree_widget.setColumnCount(2);
//设置表头
QStringList headers;
headers << "name" << "year";
tree_widget.setHeaderLabels(headers);
//添加项目
QTreeWidgetItem *grade_1 = new QTreeWidgetItem(&tree_widget);
grade_1->setText(0, "Grade1");
QTreeWidgetItem *student = new QTreeWidgetItem(grade_1);
student->setText(0, "Tom");
student->setText(1, "1986");
//设置grade_1为grade_2的前一个项目
QTreeWidgetItem *grade_2 = new QTreeWidgetItem(&tree_widget, grade_1);
grade_2->setText(0, "Grade2");
tree_widget.show();
//删除QTreeWidget中项目
//先获取当前项目项目有父项目,则使用其父项目删除当前项目,否则使用树部件删除当前项目
QTreeWidgetItem *parent = student->parent();
int index;
//如果当前项目
if(parent){
//参数为返回当前项目
index = parent->indexOfChild(tree_widget.currentItem());
delete parent->takeChild(index);
}else{
index = tree_widget.indexOfTopLevelItem(tree_widget.currentItem());
delete tree_widget.takeTopLevelItem(index);
}
//向QTreeWidget中添加项目
QTreeWidgetItem *root = student->parent();
QTreeWidgetItem *new_item;
if(root){
//当前项目之后添加新的项目
new_item = new QTreeWidgetItem(parent, tree_widget.currentItem());
}else{
new_item = new QTreeWidgetItem(&tree_widget, tree_widget.currentItem());
}
//QTableWidget
//创建表格部件,同时指定行数和列数
QTableWidget table_widget(3,2);
//创建表格项目,并插入到指定单元
QTableWidgetItem *table_widget_item = new QTableWidgetItem("qt");
table_widget.setItem(1,1,table_widget_item);
//创建表格项目,并将他们作为标头
QTableWidgetItem *header_v = new QTableWidgetItem("first");
table_widget.setVerticalHeaderItem(0, header_v);
QTableWidgetItem *header_h = new QTableWidgetItem("ID");
table_widget.setHorizontalHeaderItem(0, header_h);
table_widget.show();
return a.exec();
}