一、List Widget控件
注:在UI中添加List Widget控件后先编译再写代码,否则会提示缺少头文件
QListWidgetItem* item1 = new QListWidgetItem("锄禾日当午");
item1->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
ui->listWidget->addItem(item1);
QStringList list;
list << "青女素娥俱耐冷" << "月中霜里斗婵娟";
ui->listWidget->addItems(list);
对齐方式如下,两块可以以|的方式连接
Qt::AlignLeft
Qt::AlignRight
Qt::AlignHCenter
Qt::AlignJustify
Qt::AlignTop
Qt::AlignBottom
Qt::AlignVCenter
Qt::AlignBaseline
二、Tree Widget控件
注:在UI中添加Tree Widget控件后先编译再写代码,否则会提示缺少头文件
ui->setupUi(this);
QStringList list;
list << "小说" << "简介";
ui->treeWidget->setHeaderLabels(list);
QTreeWidgetItem* treeWidgetItem1 =new QTreeWidgetItem(QStringList() << "都市");
ui->treeWidget->addTopLevelItem(treeWidgetItem1);
QTreeWidgetItem* treeWidgetItem2 =new QTreeWidgetItem(QStringList() << "玄幻");
ui->treeWidget->addTopLevelItem(treeWidgetItem2);
QTreeWidgetItem* treeWidgetItem3 =new QTreeWidgetItem(QStringList() << "仙侠");
ui->treeWidget->addTopLevelItem(treeWidgetItem3);
QTreeWidgetItem* treeWidgetItem1_1 =new QTreeWidgetItem(QStringList() << "都市小说1" << "都市小说1简介");
treeWidgetItem1->addChild(treeWidgetItem1_1);
QTreeWidgetItem* treeWidgetItem1_2 =new QTreeWidgetItem(QStringList() << "都市小说2" << "都市小说2简介");
treeWidgetItem1->addChild(treeWidgetItem1_2);
QTreeWidgetItem* treeWidgetItem2_1 =new QTreeWidgetItem(QStringList() << "玄幻小说1" << "玄幻小说1简介");
treeWidgetItem2->addChild(treeWidgetItem2_1);
QTreeWidgetItem* treeWidgetItem2_2 =new QTreeWidgetItem(QStringList() << "玄幻小说2" << "玄幻小说2简介");
treeWidgetItem2->addChild(treeWidgetItem2_2);
QTreeWidgetItem* treeWidgetItem3_1 =new QTreeWidgetItem(QStringList() << "仙侠小说1" << "仙侠小说1简介");
treeWidgetItem3->addChild(treeWidgetItem3_1);
QTreeWidgetItem* treeWidgetItem3_2 =new QTreeWidgetItem(QStringList() << "仙侠小说2" << "仙侠小说2简介");
treeWidgetItem3->addChild(treeWidgetItem3_2);
//QStringList的两种写法
//第一种
QTreeWidgetItem* treeWidgetItem1_1 =new QTreeWidgetItem(QStringList() << "都市小说1" << "都市小说1简介");
treeWidgetItem1->addChild(treeWidgetItem1_1);
//第二种
QStringList list1_1;
list1_1 << "都市小说1" << "都市小说1简介";
QTreeWidgetItem* treeWidgetItem1_1 =new QTreeWidgetItem(list1_1);
treeWidgetItem1->addChild(treeWidgetItem1_1);
三、Table Widget控件
注:在UI中添加Table Widget控件后先编译再写代码,否则会提示缺少头文件
ui->setupUi(this);
ui->tableWidget->setColumnCount(3);
ui->tableWidget->setHorizontalHeaderLabels(QStringList() << "姓名" << "性别" << "年龄");
ui->tableWidget->setRowCount(5);
QStringList nameList;
nameList << "张三" << "李四" << "王五" << "赵六" << "孙七";
QStringList sexList;
sexList << "男" << "女" << "男" << "女" << "男";
QStringList ageList;
ageList << "22" << "30" << "12" << "55" << "90";
for (int i=0;i<5;i++)
{
ui->tableWidget->setItem(i,0,new QTableWidgetItem(nameList[i]));
ui->tableWidget->setItem(i,1,new QTableWidgetItem(sexList[i]));
ui->tableWidget->setItem(i,2,new QTableWidgetItem(ageList[i]));
}
connect(ui->pushButton,&QPushButton::clicked,this,[=](){
bool exist = ui->tableWidget->findItems("赵云",Qt::MatchExactly).isEmpty();
if (exist != false) //当不存在“赵云”时
{
int row = 5;
ui->tableWidget->insertRow(row);
ui->tableWidget->setItem(row,0,new QTableWidgetItem(QString("赵云")));
ui->tableWidget->setItem(row,1,new QTableWidgetItem(QString("男")));
ui->tableWidget->setItem(row,2,new QTableWidgetItem(QString("1000")));
}
else
{
QMessageBox::critical(this,"错误","已经存在赵云,无法添加!");
}
});
connect(ui->pushButton_2,&QPushButton::clicked,this,[=](){
bool exist = ui->tableWidget->findItems("赵云",Qt::MatchExactly).isEmpty();
if (exist == false) //当存在“赵云”时
{
int row = ui->tableWidget->findItems("赵云",Qt::MatchExactly).first()->row();
ui->tableWidget->removeRow(row);
}
else
{
QMessageBox::critical(this,"错误","不存在赵云,无法删除!");
}
});