在QGraphicsItem添加了 QListWidget控件,控件中显示的项超过QListWidget控件显示范围后,会出现滚动条,但是拉动滚动条时,显示内容不会变化
main.cpp
#include
#include
#include
#include
#include
#include
#include
#include
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
qsrand(QTime(0, 0, 0).secsTo(QTime::currentTime()));
QGraphicsScene scene;
scene.setSceneRect(-200, -150, 800, 800);
QGraphicsProxyWidget *PowerLable1 = new QGraphicsProxyWidget;
QListWidget *mylistwidget = new QListWidget();
mylistwidget->setGeometry(-200, 0, 500 ,300);
for(int i =0;i <20; i++){
QWidget *sectionList = new QWidget();
QHBoxLayout *toplay = new QHBoxLayout;
toplay->addWidget(new QLabel(QString::number(i)));
toplay->addWidget(new QPushButton("测试控件"));
sectionList->setLayout(toplay);
QListWidgetItem *newItem = new QListWidgetItem;
QSize newsize(0,35);
newItem->setSizeHint(newsize);
mylistwidget->addItem(newItem);
mylistwidget->setItemWidget(newItem, sectionList);
}
PowerLable1->setWidget(mylistwidget);
scene.addItem(PowerLable1);
QGraphicsView view;
view.setScene(&scene);
view.setBackgroundBrush(QPixmap("../myView/background.png"));
view.show();
return a.exec();
}
如何解决呢