关于Qt的QListWidget如何调节列表项高度的问题

adashabi 2014-09-27 04:53:21
各位大神好,最近在学Qt做界面,想要实现一个稍微复杂一点的列表框,网上查资料也实现了这个功能,但是效果不尽如人意。我的代码如下

QListWidgetItem* Item = new QListWidgetItem(m_pCaseListView);
QWidget *pContainer = new QWidget(m_pCaseListView);
QHBoxLayout *hLayout = new QHBoxLayout(pContainer);
QHBoxLayout *hLeftLayout = new QHBoxLayout(pContainer);
QHBoxLayout *hRightLeftLayout = new QHBoxLayout(pContainer);
QHBoxLayout *hRightRightLayout = new QHBoxLayout(pContainer);
QHBoxLayout *hRightLayout = new QHBoxLayout(pContainer);

QLabel *pCaseName = new QLabel(*iter);

QProgressBar *pProBar = new QProgressBar(pContainer);
pProBar->setRange(0, 1000); //当前只为了看效果,数字无实际意义
pProBar->setValue(100); //当前只为了看效果,数字无实际意义

//添加三个按钮,实现运行、停止运行、删除功能
QPushButton *pRunButton = new QPushButton(pContainer);
pRunButton->setStyleSheet("QPushButton{border-image:url(:/images/images/runbutton.png)}");
QPushButton *pStopButton = new QPushButton(pContainer);
pStopButton->setStyleSheet("QPushButton{border-image:url(:/images/images/stopbutton.png)}");
QPushButton *pDelButton = new QPushButton(pContainer);
pDelButton->setStyleSheet("QPushButton{border-image:url(:/images/images/delbutton.png)}");

//将各个空间添加到水平布局器中
hLeftLayout->addWidget(pCaseName);
hRightLeftLayout->addWidget(pProBar);
hRightRightLayout->addStretch(1);
hRightRightLayout->addWidget(pRunButton);
hRightRightLayout->addStretch(1);
hRightRightLayout->addWidget(pStopButton);
hRightRightLayout->addStretch(1);
hRightRightLayout->addWidget(pDelButton);
hRightRightLayout->addStretch(1);

//设置布局器的比例
hRightLayout->addLayout(hRightLeftLayout);
hRightLayout->addLayout(hRightRightLayout);
hRightLayout->setStretchFactor(hRightLeftLayout, 1);
hRightLayout->setStretchFactor(hRightRightLayout, 1);
hLayout->addLayout(hLeftLayout);
hLayout->addLayout(hRightLayout);
hLayout->setStretchFactor(hLeftLayout, 1);
hLayout->setStretchFactor(hRightLayout, 1);
hLayout->setContentsMargins(5,2,5,2);
pContainer->setLayout(hLayout);

m_pCaseListView->setItemWidget(Item, pContainer);

外层有一个for循环,设置QLabel显示的内容QLabel *pCaseName = new QLabel(*iter);
代码运行结果如下

我想请教各位两个问题:
1:QLabel文字内容长的话控件的对齐会出现问题,这个问题要怎么解决呢?
2:如何调节列表项的高度,大家也看到了按钮的图片被压缩的很严重?
...全文
2599 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
dynamicsystem 2015-03-10
  • 打赏
  • 举报
回复
setGridSize
adashabi 2014-09-28
  • 打赏
  • 举报
回复
自己顶一下下,求大神帮忙啊!
adashabi 2014-09-27
  • 打赏
  • 举报
回复
图片咋没显示出来呢
多谢大家的关注和解答,50分不多,聊表寸心。

16,201

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧