首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在QStatusBar中自动扩展标签宽度

如何在QStatusBar中自动扩展标签宽度
EN

Stack Overflow用户
提问于 2011-04-23 03:20:01
回答 1查看 4.5K关注 0票数 0

我有一台QStatusBar。我已经添加了一个标签,在那里显示了一个图标。现在,我想模拟QStatusBar::showMessage()的行为,方法是在我作为小部件添加到状态栏的另一个标签中设置文本。我需要这个,因为我不能在状态栏中设置标准消息的填充。否则,图标和文本会重叠。现在,我希望包含消息文本的QLabel展开到状态栏的整个宽度。我该怎么做呢?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-23 20:41:18

这里有一些你可以尝试的东西,我从来没有在状态栏上尝试过,所以我不知道它是否有效,但我确实在其他容器上尝试过,效果很好。创建一个HBoxLayout,使用它布置状态栏,添加图标和标签,并将layoutStretch设置为0,1 (addStretch(0);addStretch(1)),0表示图标,0表示它将拉伸以适合图标,1它将拉伸到所有剩余空间,使标签扩展到全宽。

代码将如下所示:

代码语言:javascript
复制
QHBoxLayout *layout = new QHBoxLayout(statusBar);
layout->setContentsMargins(11, 11, 11, 11);
statusBar->setLayout(layout);
layout->addStretch(0);
layout->addWidget(iconlabel);
layout->addStretch(1);
layout->addWidget(textlabel);

抱歉,如果有编译错误,现在不能尝试。希望这能有所帮助。

编辑:尽管上面的代码不能工作,但我不会删除它,因为这是其他容器的正确方式。对于状态栏,这应该是有效的:

代码语言:javascript
复制
statusBar->addWidget(iconLabel, 0);
statusBar->addWidget(textLabel, 1);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5759146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档