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

QTableWidget不显示内容

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

QTableWidget不显示内容

记录一个QTableWiget的坑

QT 5.9 C++ 开发指南

samp4_9

初始化数据时,不设置表的行数,不会显示

就算手动设置rows = 2,也不会显示

后续设置表行数按钮应该会设置!

void MainWindow::on_btnIniData_clicked()
{
    //初始化表格内容
    QString strName,strSex;
    bool isParty = false;
    QDate birth;
    birth.setDate(1980,4,7);//初始化一个日期
    ui->tableInfo->clearContents();//只清除工作区,不清除表头
//    ui->tableInfo->setRowCount(1);不设置表的行数,不会显示
    int Rows = ui->tableInfo->rowCount();//数据区行数

    for(int i=0;i 
void MainWindow::createItemsARow(int rowNo, QString Name, QString Sex,
                                 QDate birth, QString Nation, bool isPM, int score)
{
    //为一行的单元格创建Items
    QTableWidgetItem *item;
    QString str;
    uint StudID=201605000;//学号基数

    //姓名
    item = new QTableWidgetItem(Name,MainWindow::ctName);
    item->setTextAlignment(Qt::AlignCenter|Qt::AlignVCenter);
    StudID += rowNo;//学号=基数+行号
    item->setData(Qt::UserRole,QVariant(StudID));//设置stuID为data ,自定义数据
    ui->tableInfo->setItem(rowNo,MainWindow::colName,item);

    //性别
    QIcon icon;
    if(Sex=="男"){
        icon.addFile(":/images/icons/boy.ico");
    }
    else{
        icon.addFile(":/images/icons/girl.ico");
    }
    item = new QTableWidgetItem(Sex,MainWindow::ctSex);
    item->setIcon(icon);
    item->setTextAlignment(Qt::AlignHCenter |
                           Qt::AlignVCenter);
    ui->tableInfo->setItem(rowNo,MainWindow::colSex,item);

    //出生日期
    str = birth.toString("yyyy-MM-dd");//日期转换为字符串
    item = new QTableWidgetItem(str,MainWindow::ctBirth);
    item->setTextAlignment(Qt::AlignLeft |
                           Qt::AlignVCenter);
    ui->tableInfo->setItem(rowNo,MainWindow::colBirth,item);

    //民族
    item = new QTableWidgetItem(Nation,MainWindow::ctNation);
    item->setTextAlignment(Qt::AlignHCenter |
                           Qt::AlignVCenter);
    ui->tableInfo->setItem(rowNo,MainWindow::colNation,item);

    //是否党员
    item = new QTableWidgetItem("党员",MainWindow::ctPartyM);
    item->setTextAlignment(Qt::AlignHCenter|
                           Qt::AlignVCenter);
    if(isPM)
    {
        item->setCheckState(Qt::Checked);
    }
    else{
        item->setCheckState(Qt::Unchecked);
    }
    item->setBackgroundColor(Qt::yellow);
    ui->tableInfo->setItem(rowNo,MainWindow::colPartyM,item);

    //分数
    str.setNum(score);
    item = new QTableWidgetItem(str,MainWindow::ctScore);
    item->setTextAlignment(Qt::AlignHCenter |
                           Qt::AlignVCenter);
    ui->tableInfo->setItem(rowNo,MainWindow::colScore,item);
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/849774.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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