要使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();
}