首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QToolBar变化高度

QToolBar变化高度
EN

Stack Overflow用户
提问于 2016-11-20 22:25:45
回答 3查看 6K关注 0票数 3

在我的项目中,我有一个默认大小和大小策略的QToolBar。我希望将工具栏的高度提高到36 of。

到目前为止,我已经尝试过:

  • 将样式表属性设置为工具栏:height: 36px;
  • 将工具栏对象的大小策略设置为固定:toolBar->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
  • 设置minimumHeight:toolBar->setMinimumHeight(36);
  • 设置布局大小约束toolBar->layout()->setSizeConstraint(QLayout::SetMinimumSize)
  • 所有这些都是同时

任何东西都不会增加工具栏的高度。唯一起作用的是增加条形内QToolButton对象的大小,但这不是我想要做的。我只想让工具栏高一点。

有什么建议吗?耽误您时间,实在对不起。

编辑:我目前的解决方案是给工具栏中的QToolButton对象添加一个边距。我还是不喜欢这样,因为工具栏中有不同的对象类型.令人沮丧。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-10-05 19:38:08

toolBar->setFixedHeight(36); -工作得很好。

但如果我在此之后设置图标大小:

代码语言:javascript
复制
toolBar->setFixedHeight(36); 
toolBar->setIconSize(QSize(10, 10));

高度崩溃了。此外,如果我通过样式表设置图标大小,也会发生这种情况。

更改呼叫顺序有助于:

代码语言:javascript
复制
toolBar->setIconSize(QSize(10, 10));
toolBar->setFixedHeight(36);
票数 6
EN

Stack Overflow用户

发布于 2017-10-03 14:53:48

toolbar->setFixedHeight(36)应该能工作

这里的文件

票数 1
EN

Stack Overflow用户

发布于 2019-01-11 10:43:50

我只是在我的项目中注意到了QToolBar的相同问题,虽然它显式地调用了setMinimumHeight(64),但是它并没有改变它的高度。结果发现,使用singleShot QTimer将其延迟到主线程的事件循环中有帮助:

代码语言:javascript
复制
# self is an instance of a QToolBar subclass
QtCore.QTimer.singleShot(0, lambda : self.setMinimumHeight(64))

(它在PyQt5中,但你应该明白重点。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40710140

复制
相关文章

相似问题

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