首页 > 代码库 > QT TableWidget 应用笔记
QT TableWidget 应用笔记
QT TableWidget应用笔记
分类: QT2013-05-21 16:22 2561人阅读 评论(0) 收藏 举报
1、设置表头及大小
QStringList header;
header<<"ID"<<"NAME"<<"年龄"<<"sex"<<"data";
ui->tableWidget->setHorizontalHeaderLabels(header);
ui->tableWidget->setRowCount(3);
ui->tableWidget->setColumnCount(5);
2、获得和设置单元内容
connect(ui->tableWidget,SIGNAL(cellClicked(int,int)),SLOT(showmark()));
void widget::showmark()
{
QTableWidgetItem *item = ui->tableWidget->currentItem();
item->setTextColor(QColor(255,50,50));
ui->label->setText(item->text());
}
ui->tableWidget->setItem(xx,yy++,new QTableWidgetItem(ui->lineEdit_2->text()));
这样获得的item 一定要判断是否为空 若为空 应进行空的对应处理(否则程序会报错退出)
3、插入一行
ui->tableWidget->insertRow(xx);xx表示对应的位置
/*给单元格中增加图标*/QTableWidgetItem *item = new QTableWidgetItem(QIcon("myImage.jpg"), NULL); //只加入图标,没有字符串QTableWidgetItem *item = new QTableWidgetItem(QIcon("myImage.jpg"), myString); //加入图标和字符串table->setItem(row, column, item);/*插入一行*/int row = table->rowCount();table->insertRow(row);/*插入一列*/int column = table->columnCount();table->insertColumn(column);//使行列头自适应宽度,最后一列将会填充空白部分table->horizontalHeader()->setStretchLastSection(true); //使行列头自适应宽度,所有列平均分来填充空白部分 table->horizontalHeader()->setResizeMode(QHeaderView::Strtch); //使行自适应高度,假如行很多的话,行的高度不会一直减小,当达到一定值时会自动生成一个QScrollBartable->verticalHeader()->setResizeMode(QHeaderView::Strtch);//设置单击选择一行table->setSelectionBehuavior(QAbstractItemView::SelectRows);//设置每行内容不可编辑table->setEditTriggers(QAbstractItemView::NoEditTriggers);//设置只能选择一行,不能选择多行table->setSelectionMode(QAbstractItemView::SingleSelection);/*去掉每行的行号*/QHeaderView *headerView = table->verticalHeader();headerView->setHidden(true);/*设置让某个单元格或某行选中*/选中单元格:table->setCurrentCell(row, column, QItemSelectionModel::Select);选中一行:table->setCurrentCell(row, QItemSelectionModel::Select);(注意此处的列没有值)
4、删除某一行 列
FriendTable->removeRow(row);
FriendTable->removeColumn (column );
5、
设置表单背景或透明
QPalette pal = musicTable->palette(); pal.setBrush(this->backgroundRole(),QBrush(QPixmap("images/background.png")) ); musicTable->setPalette( pal );
设置它的背景图片,也可以将QBrush初始化为QColor来设置背景颜色
QPalette pll = musicTable->palette();
pll.setBrush(QPalette::Base,QBrush(QColor(255,255,255,0)));
musicTable->setPalette(pll); //和QTextEdit一样,都可以使用样式表QPalette来修改它的背景颜色和背景图片,这里我们把刷子设置为全透明的,就可以是透明的
6、隔行显示颜色
ui->tableWidget->setAlternatingRowColors(1);
- this->ui->friendList->setSelectionMode(QAbstractItemView::SingleSelection); //设置只能选择一行,不能多行选中
- this->ui->friendList->setEditTriggers(QAbstractItemView::NoEditTriggers); //设置每行内容不可更改
- this->ui->friendList->setAlternatingRowColors(true); //设置隔一行变一颜色,即:一灰一白
QT TableWidget 应用笔记
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。