Qt学习之表单(QTableWidget)
1、创建一个表单:QTableWidget table = new QTableWidget(行数,列数,this);
2、设置列宽(例如我要创建的表单为5列):
table->setColumnWidth(0,180);
table->setColumnWidth(1,200);
table->setColumnWidth(2,300);
table->setColumnWidth(3,200);
table->setColumnWidth(4,300);
3、设置水平标题标签(也就是列标签):
QStringList header;
header << "场次" << "主队" << "客队" << "让球" << "比赛时间";
table->setHorizontalHeaderLables(header);
设置表头信息自动填满表头:
ui->image->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
4、设置表单的水平滚动条
table->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
滚动条分别有以下几种的策略(看前三个就行)分别为:隐藏,一直显示,需要时显示。
5、设置表单的垂直滚动条
table->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);(如何设置参照水平滚动条即可)
6、设置框架的形状
table->setFrameShape(QFrame::NoFrame);(设置一个无框架的表单)目前只用到了NoFrame
具体样子请看最后
7、编辑触发器
table->setEditTriggers(QAbstractItemView::NoEditeTriggers);意思就是不让用户编辑表格里面的内容,让表单只读。
8、设置焦点策略
table->setFocusPolicy(Qt::NoFocus);(焦点策略目前我只用了这一个,需要更多最好自己百度以下!容易理解。)我这个就是没有焦点策略。
9、设置选择模式
table->setSelectionMode(QAbstractItemView::NoSelection);意思就是能不能选择表里的东西,我这个是不能选择的。
10、设置显示网格
table->setShowGird(false);我的是不显示网格
11、设置垂直头不可见
table->verticalHeader()->setVisible(false);
12、动态增长行数:
int RowCont;
RowCont=ui->image->rowCount();
ui->image->insertRow(RowCont);
ui->image->setItem(RowCont,0,new QTableWidgetItem(m_i));
ui->image->setItem(RowCont,1,new QTableWidgetItem(m_x));
ui->image->setItem(RowCont,2,new QTableWidgetItem(m_y));
ui->image->setItem(RowCont,2,new QTableWidgetItem(m_z));
写出来大体是这个效果(忽略表单内容)
各种我没写的函数,参数看这篇文章总结的非常全,并且都是中文:
http://blog.csdn.net/polokang/article/details/6696982