您的位置:首页 > 编程语言 > Qt开发

QT使用tableWidget显示双排列表 而且选中用红框圈出来

2017-06-01 09:24 435 查看
如需转载请标明出处:http://blog.csdn.net/itas109

整个project下载地址:http://download.csdn.net/detail/itas109/7607735

这里採用tableWidget显示双排列表

双排列表代码

QTableWidgetItem* item[50];

int Row;
if (num%2 == 1)
{
Row = num/picColumn+1;
}
else
{
Row = num/picColumn;
}

int index;//表格坐标转换为0-n索引

ui.tableWidgetPicList->setRowCount(Row);//行数
ui.tableWidgetPicList->setColumnCount(picColumn);//列数

ui.tableWidgetPicList->setIconSize(QSize(PicWidth,PicHeight));//设置图片大小

ui.tableWidgetPicList->setEditTriggers(QAbstractItemView::NoEditTriggers);//不可编辑

ui.tableWidgetPicList->setShowGrid(false);//显示表格线

ui.tableWidgetPicList->setColumnWidth(0,PicWidth+10);//第一列宽度
ui.tableWidgetPicList->setColumnWidth(1,PicHeight+10);//第二列宽度

ui.tableWidgetPicList->verticalHeader()->setVisible(false);   //隐藏列表头
ui.tableWidgetPicList->horizontalHeader()->setVisible(false); //隐藏行表头
QTableWidgetItem *pNewItem = new QTableWidgetItem();

for (int i=0;i<Row;i++)
{
for (int j=0;j<picColumn;j++)
{

index = picColumn*i+j;
if (index != num)
{
ui.tableWidgetPicList->setRowHeight(i,PicHeight+10);//设置第i行高度

item[index] = new QTableWidgetItem();
item[index]->setIcon(QIcon(path[index]));
ui.tableWidgetPicList->setItem(i,j,item[index]);
}
}
}


设置item选中的样式

setStyleSheet("QTableWidget::item:selected { background-image:url(background_red_110_110.png) }");//更改QTableWidget选中样式


双击选中后改变样式

ui.tableWidgetPicList->item(item->row(),item->column())->setBackground(QBrush(QPixmap("background_red_110_110.png")));


程序执行图:



如需转载请标明出处:http://blog.csdn.net/itas109
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐