QT使用tableWidget显示双排列表 而且选中用红框圈出来
如需转载请标明出处: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