使QtableWidget表格中的列平均填充

来源:互联网 发布:单片机led灯电路设计 编辑:程序博客网 时间:2024/04/30 15:28

要使QtableWidget表格中的列平均填充,关键代码如下:


/*****************************************************

ui->tableWidget->horizontalHeader()->setResizeMode(QHeaderView::Stretch);

*******************************************************/



例子代码:

#include "mytable.h"
#include <QLabel>
#include <QTableWidgetItem>
#include <QDateTimeEdit>
#include <QComboBox>
#include <QSpinBox>
#include <QApplication>
#include <QHeaderView>

MyTable::MyTable(QWidget *parent) :
    QTableWidget(parent)
{
    setColumnCount(5);//要先设置多少行和多少列
    setRowCount(5);
    QStringList headers;
    headers<<"ID"<<"Name"<<"Age"<<"Work"<<"SHOU";
    setHorizontalHeaderLabels(headers);//列头
    this->horizontalHeader()-> setResizeMode(QHeaderView::Stretch);//列自行填充
    QTableWidgetItem *tablewidgetitem1 =new QTableWidgetItem(tr("1"));
    setItem(0,0,tablewidgetitem1);
    QTableWidgetItem *tablewidgetitem =new QTableWidgetItem(tr("Tom"));
    setItem(0,1,tablewidgetitem);

    QDateTimeEdit *date=new QDateTimeEdit();
    date->setDateTime(QDateTime::currentDateTime());
    date->setDisplayFormat("dd/M/yyyy");
    date->setCalendarPopup(true);
    //setCellWidget可在某个制定表格单元格中插入一个控件
    setCellWidget(0,2,date);

    QComboBox *com=new QComboBox();
    com->addItem(tr("worker"));
    com->addItem(tr("doctor"));
    setCellWidget(0,3,com);

    QSpinBox *spin=new QSpinBox;
    spin->setRange(0,1000);
    setCellWidget(0,4,spin);
}

int main(int argc,char *argv[])
{
    QApplication a(argc,argv);
    MyTable b;
    b.show();
    return a.exec();
}