简易处理自定义QListWidget元素

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

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

简易


步骤:

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

处理

定义


由于你的类型已经继承了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画出

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


您的回应...

相关话题

查看全部

也许你感兴趣

换一批

热门标签

更多