Qt::tablewidget

 //tablewidget样式设计  

table_widget->setGeometry(14,58,738,381); //位置、大小

table_widget->setColumnCount(4); //设置列数

table_widget->setColumnWidth(0,44);//设置列宽

table_widget->setColumnWidth(1,44);//设置列宽

table_widget->setColumnWidth(2,100);//设置列宽

table_widget->setColumnWidth(3,102);//设置列宽

table_widget->horizontalHeader()->setDefaultSectionSize(150); 

 

 //设置表头内容

table_widget->horizontalHeader()->setClickable(false); //设置表头不可点击(默认点击后进行排序)

QStringList header;

header<<tr("name")<<tr("last modify time")<<tr ("type")<<tr("size");

table_widget->setHorizontalHeaderLabels(header);

 //设置表头字体加粗

QFont font = this->horizontalHeader()->font();

font.setBold(true);

table_widget->horizontalHeader()->setFont(font);

table_widget->horizontalHeader()->setStretchLastSection(true); //设置充满表宽度

table_widget->verticalHeader()->setResizeMode(QHeaderView::ResizeToContents);

table_widget->verticalHeader()->setDefaultSectionSize(10); //设置行距

table_widget->setFrameShape(QFrame::NoFrame); //设置无边框

table_widget->setShowGrid(false); //设置不显示格子线

table_widget->verticalHeader()->setVisible(false); //设置垂直头不可见

table_widget->setSelectionMode(QAbstractItemView::ExtendedSelection); //可多选(Ctrl、Shift、 Ctrl+A都可以)

table_widget->setSelectionBehavior(QAbstractItemView::SelectRows); //设置选择行为时每次选择一行

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

table_widget->horizontalHeader()->resizeSection(0,150); //设置表头第一列的宽度为150

table_widget->horizontalHeader()->setFixedHeight(25); //设置表头的高度

table_widget->setStyleSheet("selection-background-color:lightblue;"); //设置选中背景色

table_widget->horizontalHeader()->setStyleSheet("QHeaderView::section{background:skyblue;}"); //设置表头背景色

//设置水平、垂直滚动条样式

table_widget->horizontalScrollBar()->setStyleSheet("QScrollBar{background:transparent; height:10px;}"

"QScrollBar::handle{background:lightgray; border:2px solid transparent; border-radius:5px;}"

"QScrollBar::handle:hover{background:gray;}"

"QScrollBar::sub-line{background:transparent;}"

"QScrollBar::add-line{background:transparent;}");

table_widget->verticalScrollBar()->setStyleSheet("QScrollBar{background:transparent; width: 10px;}"

"QScrollBar::handle{background:lightgray; border:2px solid transparent; border-radius:5px;}"

"QScrollBar::handle:hover{background:gray;}"

"QScrollBar::sub-line{background:transparent;}"

 "QScrollBar::add-line{background:transparent;}");

 //单元格变化就发出信号

 connect(ui->tableWidget, SIGNAL(cellChanged(int, int)), SLOT(changeTest(int, int)));

 QVector<<SPAN style="COLOR: #808000">int> integerVector;//定义数组用于存储删除的行列数

 

void UsbCheck::changeTest(int row, int col)
{
if(ui->tableWidget->item(row, col)->checkState()==Qt::Checked)
{
integerVector.append(row);
}
}
void UsbCheck::deleteRow()
{
cout<<integerVector.size()<<endl; for(int i=0;i<</SPAN>integerVector.size();i++)
{
cout<<integerVector[i]<<endl;
ui->tableWidget->removeRow(integerVector[i]);
}
integerVector.clear();
}
//插入复选框控件
auto rowID = ui->tableWidget->rowCount();

 

ui->tableWidget->setRowCount(rowID+1);//新增行
QTableWidgetItem *checkbox = new QTableWidgetItem();
checkbox->setCheckState(Qt::Unchecked);
ui->tableWidget->setItem(rowID, 0, checkbox); //插入复选框
ui->tableWidget->setItem(rowID, 1, new QTableWidgetItem(QString::number(rowID)));
ui->tableWidget->setItem(rowID, 2, newQTableWidgetItem(QString::fromStdWString(usbinfo[recordNo].Devicetype)));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值