简易处理自定义QListWidget元素

2013年10月14日10:13:47

后来经过测试修改,使用起来可以了,不存在后面那行选不中的情况。整理符合要求

在操作的时候建议使用链表的(QList<Qwidget*>)的形式存起来,更加可以封装好对应的数据结构,

当在上面修改的时候可以跟着进行数据处理。毕竟界面不交互就没有它的意义了


后来调通版 程序下载http://download.csdn.net/detail/jzaicn/6395643

by Again 2013-10-14 10.16.05



2013年3月18日10:13:25

首先给大家发一个效果图:

我的环境:VS2008+QT4.8.4。利用QT designer+少量代码。实现如下效果。

简易处理自定义QListWidget元素_第1张图片


步骤:

首先,新建UI文件。如果有继承,选QWidget

简易处理自定义QListWidget元素_第2张图片

简易处理自定义QListWidget元素_第3张图片


由于你的类型已经继承了QWidget,所以改改自己类的构造方式

MyListItem(QWidget *parent = 0,Qt::WindowFlags f=0);//window flag那个是自己加的

MyListItem::MyListItem(QWidget *parent,Qt::WindowFlags f)
	: QWidget(parent,f)

然后在具体代码中如下操作

void QXmlTest::on_btnAdd_clicked()
{
	QListWidgetItem *item = new QListWidgetItem();
	ui.listWidget->addItem(item);
	
	//关联
	MyListItem *myItem = new MyListItem(ui.listWidget,Qt::Window);
	myItem->show();//如果不show,下面size就不对了
	ui.listWidget->setItemWidget(item,myItem);
	
	//item大小
	item->setSizeHint (QSize(myItem->rect().width(),myItem->rect().height()));

}

以上,利用QListWidget,实现元素布局自定义功能。布局由QT designer画出

存在问题:会闪烁一下,还有最后那个选项选不中。不过控件有效


你可能感兴趣的:(简易处理自定义QListWidget元素)