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

如需转载请标明出处:http://blog.csdn.net/itas109

整个工程下载地址: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

QT使用tableWidget显示双排列表 并且选中用红框圈出来,布布扣,bubuko.com

时间: 2024-08-10 02:13:43

QT使用tableWidget显示双排列表 并且选中用红框圈出来的相关文章

Qt中显示复杂列表

提要 最近想要完成的一个项目需要显示一个列表,可以动态增减,可编辑,有checkbox.类似于这样 或者这样 但网上的例子都是这样 和这样 ... 最后实现的效果: QListWidget解决方案 在Android实现这样的列表是非常简单的,首先定义布局XML,然后再定义一个Adapter就可以了. Qt中类似的解决方案就是QListWidget. 自定义一个Widget类作为Item,比如 class UsersListItem : public QWidget { Q_OBJECT publ

基于Qt的类似QQ好友列表抽屉效果的实现

前段时间在忙毕业设计,所以一直没有更新博客.今天答辩完以后,将对我的毕业设计进行模块展示,供Qt初学者进行参考. 毕业设计题目:Linux系统下基于Qt的局域网即时通信系统设计与实现 其中我有一个类似于QQ的好友列表,然后对好友可以进行分组管理,毕设中具体效果图如下: 网上查寻到的设计思路: 1.采用QToolBox的方式,虽然看起来有点样子,但是并不是我们所熟悉的好友列表,比如:http://blog.csdn.net/qianguozheng/article/details/6719074

Angular 显示英雄列表

在本页面,你将扩展<英雄指南>应用,让它显示一个英雄列表, 并允许用户选择一个英雄,查看该英雄的详细信息. 创建模拟(mock)英雄数据 你需要一些英雄数据以供显示. 最终,你会从远端的数据服务器获取它.但是目前,你需要创建一些模拟英雄(some mock heroes),并假设这些数据是从远程服务器上获取的. 在 src/app/ 文件夹中创建一个名叫 mock-heroes.ts 的文件. 定义一个包含十个英雄的常量数组 HEROES,并导出它. 该文件是这样的. src/app/mock

Android SDK无法显示更新列表解决方法

解决办法: 第一步: 打开Windows中C:\WINDOWS\system32\drivers\etc\hosts,然后添加以下内容: 203.208.46.146 dl.google.com 203.208.46.146 dl-ssl.google.com 74.125.113.121 developer.android.com 第二步: 打开Android SDK Manager,选上方的菜单Tools,进入Options,在"Force https://- "前面打钩,就可以更

JS DOM编程艺术——显示缩略语列表—— JS学习笔记2015-7-16(第85天)

缩略语列表函数 HTML 结构: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>显示缩略语列表</title> <style> body{ font-family: "Helvetiva", "

用Dialog显示一个列表

要求:用Dialog对话框显示一个列表,并实现其点击效果 代码: private ListView lv_list; private String deleteName; private AlertDialog.Builder builder; private Dialog dialog; private void showDialog() { /**  * 创建Dialog,参数为当前环境与样式.  */ builder = new AlertDialog.Builder(this); Vie

qt 下tablewidget 中要单独使一列不能编辑怎么办?

qt 下tablewidget 中要单独使一列不能编辑怎么办???最好能用一个button 控件控制 2012-03-31 19:57南山杨木 | 分类:其他编程语言 | 浏览2658次 分享到: 2012-04-01 16:29 提问者采纳 热心网友 修改该列item的flags. 例如: #include <QApplication>#include <QTableWidget>#include <QTableWidgetItem>int main(int argc

Qt之中文显示(QMessageBox、QLineEdit右键菜单等)

来源:http://blog.sina.com.cn/s/blog_a6fb6cc90101art3.html 在编写Qt程序的时候,总会碰到中文问题,一直都很困惑,原本在使用QLineEdit的时候总会出现右键英文的情况,开始的时候是将右键功能屏蔽掉.使用setContextMenuPolicy(Qt::NoContextMenu)来设置无右键菜单,但是后来发现这虽然省事,但是有不足之处,密码框可以没有右键菜单.不可复制.粘贴,但是普通的文本框还是得需要此项功能的,所以就摸索着如何实现,做起来

for标签之遍历书包,显示数据列表

咱们来修改介绍ESql标签时用到的一个例子: 查询 <chtml> <esql module=help id=list> Select ID,Subject,Writer,DayTime From Messages </esql> </chtml> 遍历书包,显示数据列表 <table border=1> <tr><th>ID</th><th>主题</th><th>作者<