QWidget
*
container
=
new
QWidget
;
QHBoxLayout *hLayout = new QHBoxLayout();
hLayout->addWidget(new QLabel("1"));
hLayout->addWidget(new QLabel("2"));
hLayout->addWidget(new QLabel("3"));
hLayout->addWidget(new QPushButton("4"));
container->setLayout(hLayout);
QListWidgetItem *item = new QListWidgetItem();
QSize size = item->sizeHint();
item->setSizeHint(QSize(size.width(),30));
ui->listWidget->addItem(item);
container->setSizeIncrement(size.width(),30);
ui->listWidget->setItemWidget(item,container);
//form 窗口是通过 设计器 设计的基于QWidget的窗体
QListWidgetItem *itemWidget = new QListWidgetItem();
ui->listWidget->setStyleSheet("QListWidget::Item{margin:0px 0px 0px 0px;}");
QSize sizea = itemWidget->sizeHint();
ui->listWidget->addItem(itemWidget);
Form *form = new Form( ui->listWidget);
form->setSizeIncrement(size.width(),30);
ui->listWidget->setItemWidget(itemWidget,form);
itemWidget->setSizeHint(QSize(form->rect().width(),form->rect().height()));
connect(ui->listWidget,SIGNAL(itemClicked(QListWidgetItem *)),this,SLOT(itemClicked(QListWidgetItem *)));
http://www.cnblogs.com/findumars/p/5655015.html
//设置样式,直接在函数中设置 list_widget->setStyleSheet("QListWidget{border:1px solid gray; color:black; }" "QListWidget::Item{padding-top:20px; padding-bottom:4px; }" "QListWidget::Item:hover{background:skyblue; }" "QListWidget::item:selected{background:lightgray; color:red; }" "QListWidget::item:selected:!active{border-width:0px; background:lightgreen; }" );