栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

QT从入门到实战x篇

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

QT从入门到实战x篇

上篇QT从入门到实战x篇_18_QTreeWidget控件(实现类似于树状结构的数据效果;具体使用方法;QStringList的使用方法)介绍了QTreeWidget控件的使用方法,本篇将会介绍Qt中QTableWidget控件的使用方法。

本篇将会利用QTableWidget控件实现类似于以下形式的数据表格显示界面。

1. 创建名为“07_TableWidget”的widget程序
在 UI中拖入 “TableWidget”控件,通过点击上方的 “垂直布局”可以实现控件占满整个 widget。


2. 设置列数和水平表头

    //设置列数
    ui->tableWidget->setColumnCount(3);
    //设置水平表头
    ui->tableWidget->setHorizontalHeaderLabels(QStringList()< 

运行结果:

3. 设置行数

    //设置行数
    ui->tableWidget->setRowCount(5);


4. 设置正文中单个行列值

//设置正文
    ui->tableWidget->setItem(0,0,new QTableWidgetItem(QString::fromLocal8Bit("亚瑟")));

运行结果:

5. 填满整个列表
注意: 下面的程序中使用了 QStringList nameList;和 QList sexList;,其使用方法基本一致, QList对象可以使用 [i]和 .at[i]的方式访问数据,当存在越界时 [i]程序就会挂掉, .at[i]的方式就会提示异常。

    QStringList nameList;
    nameList<<"yase"<<"zhangfei"<<"zhaoyun"<<"liubei"<<"guanyu";

    QList sexList;
    sexList<<"man"<<"man"<<"man"<<"man"<<"man";

    //填充行列内信息
    for(int i=0;i<5;i++)
    {
        int col=0;
        ui->tableWidget->setItem(i,col++,new QTableWidgetItem(nameList[i]));
        ui->tableWidget->setItem(i,col++,new QTableWidgetItem(sexList.at(i)));
        //int 转 QString
        ui->tableWidget->setItem(i,col++,new QTableWidgetItem(QString::number(i+18)));
    }

运行结果:

6. 学习视频地址:QT从入门到实战x篇_19_QTableWidget控件

整体代码:

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);

    //设置列数
    ui->tableWidget->setColumnCount(3);
    //设置水平表头
    ui->tableWidget->setHorizontalHeaderLabels(QStringList()<tableWidget->setRowCount(5);

    //设置正文
//    ui->tableWidget->setItem(0,0,new QTableWidgetItem(QString::fromLocal8Bit("亚瑟")));
    QStringList nameList;
    nameList<<"yase"<<"zhangfei"<<"zhaoyun"<<"liubei"<<"guanyu";

    QList sexList;
    sexList<<"man"<<"man"<<"man"<<"man"<<"man";

    //填充行列内信息
    for(int i=0;i<5;i++)
    {
        int col=0;
        ui->tableWidget->setItem(i,col++,new QTableWidgetItem(nameList[i]));
        ui->tableWidget->setItem(i,col++,new QTableWidgetItem(sexList.at(i)));
        //int 转 QString
        ui->tableWidget->setItem(i,col++,new QTableWidgetItem(QString::number(i+18)));
    }

}

Widget::~Widget()
{
    delete ui;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/935329.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号