• 1778阅读
  • 3回复

[提问]使用QListWidget时,当item的高度大于listwidget的高度时,item显示不全,需要怎么解决 [复制链接]

上一主题 下一主题
离线xing181512
 

只看楼主 倒序阅读 楼主  发表于: 2020-11-20
  1. ui.setupUi(this);
  2.     setFixedSize(800, 600);
  3.     QListWidget* pListWidget = new QListWidget(this);
  4. [color=#ff0000]    pListWidget->setFixedSize(this->size());[/color]
  5.     QListWidgetItem* pItem = new QListWidgetItem(pListWidget);
  6.     pItem->setSizeHint(QSize(800, 200));
  7.     pListWidget->addItem(pItem);
  8.     QWidget* pWidget = new QWidget(this);
  9.     QLabel* pLb = new QLabel(tr("Test"), pWidget);
  10.     QPushButton* pBtn = new QPushButton(tr("test"), pWidget);
  11.     QVBoxLayout* pV = new QVBoxLayout;
  12.     pV->setMargin(0);
  13.     pV->setSpacing(0);
  14.     pV->addWidget(pLb, 0, Qt::AlignCenter);
  15.     pV->addStretch();
  16.     pV->addWidget(pBtn);
  17.     pWidget->setLayout(pV);
  18.     pListWidget->setItemWidget(pItem, pWidget);
  19.     QListWidgetItem* pItem1 = new QListWidgetItem(pListWidget);
  20. [color=#ff0000]    pItem1->setSizeHint(QSize(800, 1000));[/color]
  21.     pListWidget->addItem(pItem1);
  22.     QWidget* pWidget1 = new QWidget(this);
  23.     QLabel* pLb1 = new QLabel(tr("Test1"), pWidget1);
  24. [color=#ff0000]    QPushButton* pBtn1 = new QPushButton(tr("test1"), pWidget1);[/color]
  25.     QVBoxLayout* pV1 = new QVBoxLayout;
  26.     pV1->setMargin(0);
  27.     pV1->setSpacing(0);
  28.     pV1->addWidget(pLb1, 0, Qt::AlignCenter);
  29.     pV1->addStretch();
  30.     pV1->addWidget(pBtn1);
  31.     pWidget1->setLayout(pV1);
  32.     pListWidget->setItemWidget(pItem1, pWidget1);
将滚动条托至最下方,item1 的按钮“test1”都没有显示出来

离线zy1233

只看该作者 1楼 发表于: 2020-11-20
最后加上pListWidget ->adjustSize()
离线guangwen

只看该作者 2楼 发表于: 2021-03-03
你好,这个问题解决了吗?
离线xing181512

只看该作者 3楼 发表于: 2021-03-03
回 guangwen 的帖子
guangwen:你好,这个问题解决了吗? (2021-03-03 10:24) 

我最后使用了QScrollArea 来处理,QListwidget 随总item的大小,QScrollArea大小固定
快速回复
限100 字节
 
上一个 下一个