QT的Item Widgets控件介绍

一、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,"错误","不存在赵云,无法删除!");
        }
    });

在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
from PyQt5 import QtCore, QtGui, QtWidgets class Ui_Form2(object): def setupUi(self, Form): Form.setObjectName("Form") Form.resize(760, 605) self.label = QtWidgets.QLabel(Form) self.label.setGeometry(QtCore.QRect(310, 10, 171, 20)) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(8) self.label.setFont(font) self.label.setObjectName("label") self.tableWidget = QtWidgets.QTableWidget(Form) self.tableWidget.setGeometry(QtCore.QRect(10, 40, 750, 600)) self.tableWidget.setObjectName("tableWidget") self.tableWidget.setColumnCount(8) self.tableWidget.setRowCount(13) item = QtWidgets.QTableWidgetItem() self.tableWidget.setVerticalHeaderItem(0, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setVerticalHeaderItem(1, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setVerticalHeaderItem(2, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setVerticalHeaderItem(3, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setVerticalHeaderItem(4, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setVerticalHeaderItem(5, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setVerticalHeaderItem(6, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setVerticalHeaderItem(7, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setVerticalHeaderItem(8, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setVerticalHeaderItem(9, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setVerticalHeaderItem(10, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setVerticalHeaderItem(11, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setVerticalHeaderItem(12, item) item = QtWidgets.QTableWidgetItem()
06-11

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值