本文主要是介绍简易处理自定义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+少量代码。实现如下效果。
步骤:
首先,新建UI文件。如果有继承,选QWidget
由于你的类型已经继承了QWidget,所以改改自己类的构造方式
- MyListItem(QWidget *parent = 0,Qt::WindowFlags f=0);//window flag那个是自己加的
MyListItem(QWidget *parent = 0,Qt::WindowFlags f=0);//window flag那个是自己加的
- MyListItem::MyListItem(QWidget *parent,Qt::WindowFlags f)
- : QWidget(parent,f)
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()));
- }
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元素的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!