Grundlagen der Verwendung von QTableWidget

一、简介       
    QTableWidget是Qt对话框中显示数据表格的控件,QTableWidget继承于类QTableView,
    QTableWidget单元格数据是QTableWidgetItem对象来实现的,整个表格都需要用逐个单元格对象QTableWidgetItem构建起来。

二、属性         
    实例化对象:QTableWidget  *tableWidget = new QTableWidget();

(1)表格设置
     //设置表格标题栏名称
     tableWidget->setWindowTitle("QTableWidget & Item");

     //设置表格不可编辑       
     tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);

    //设置表格尺寸
        tableWidget->resize(400, 300);  

(2)表头设置
    //设置表头的显示与隐藏        
     tableWidget ->verticalHeader()->setVisible(true);            //竖直显示        
     tableWidget ->horizontalHeader()->setVisible(false);         //水平隐藏

    //设置表头字段
     QStringList header;
     header<<"Name"<<"Age";  
     tableWidget->setHorizontalHeaderLabels(header);

    //居中显示:
        tableWidget->headerItem()->setTextAlignment(0,Qt::AlignHCenter | Qt::AlignVCenter);

    //表头背景色
        tableWidget->setStyleSheet("QHeaderView::section{background-color:rgb(50,93,111);}");

    //设置表头的高度
        table_widget->horizontalHeader()->setFixedHeight(25); 
    
(3)列设置
    //设置列数
         tableWidget->setColumnCount(5);

    //设置列宽
         固定列宽:tableWidget->setColumnWidth(0, 90);  
         平均列宽:tableWidget->horizontalHeader()->setSectionResizeMode(QHeader::Stretch);

    //首列序号不显示
         QHeaderView *view = table->verticalHeader();                 
         view->setHidden(true);

(4)行设置
     //设置行数        
         tableWidget->setRowCount(10);

     //设置点击单元格显示整行        
         tableWidget ->setSelectionBehavior(QAbstractItemView::SelectRows); 

     //设置行自动换行
         tableWidget->horizontalHeader()->setResizeMode(QHeaderView::Stretch);

(5)综合设置
    //设置网格线
         tableWidget->setShowGrid(true);          //显示表格线

    //设置单元格字体对齐方式
         tablewidget->item(0, 0)->setTextAlignment(Qt::AlignHCenter);

(6)添加数据
    //单元格插入控件
         qtablewidget->setCellWidget(0,3,pushBt);

    //单元格中插入图片
        tablewidget->setItem(3, 2, new QTableWidgetItem(QIcon("images/music.png"), "Music"));

    //单元格添加文子
        tablewidget->setItem(1, 0, new QTableWidgetItem(str));

(7)点击表格中添加的按钮,获取被点击行的数据
    QPushButton *delBt = new QPushButton("删除");

    Connect();

    void SlotDeteleInfo()
    {
        QPushButton *click_btn = (QPushButton*)sender;
        QModelIndex index = tableWidget->indexAt(QPoint(click_btn->frameGeometry().x(),click_btn->frameGeometry().y()));
        int row = index.row();        //获取行号

        QString name = tableWidget->item(row,0)->text();
        QString Age = tableWidget->item(row,1)->text();
    }



         

 

Supongo que te gusta

Origin blog.csdn.net/weixin_41734758/article/details/108413117
Recomendado
Clasificación