QToolBar 改变高度
QToolBar Change Height
在我的项目中,我有一个具有默认大小和大小策略的 QToolBar
。我想将工具栏的高度增加到36px。
到目前为止我已经尝试过:
- 正在将样式表 属性 设置到工具栏:
height: 36px;
- 将工具栏对象的大小策略设置为固定:
toolBar->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
- 设置最小高度:
toolBar->setMinimumHeight(36);
- 设置布局大小限制
toolBar->layout()->setSizeConstraint(QLayout::SetMinimumSize)
- 一次全部
并没有增加工具栏的高度。唯一可行的是增加栏内 QToolButton
对象的大小,但这不是我想要做的。我只希望工具栏本身更高。
有什么建议吗?感谢您的宝贵时间。
编辑:我目前的解决方案是为工具栏中的 QToolButton 对象添加边距。我仍然不喜欢这个,因为我在工具栏中有不同的对象类型....令人沮丧。
toolbar->setFixedHeight(36)
应该有效
toolBar->setFixedHeight(36);
- 效果很好。
但是如果我在这之后设置图标大小:
toolBar->setFixedHeight(36);
toolBar->setIconSize(QSize(10, 10));
身高崩溃了。如果我通过样式表设置图标大小,也会发生这种情况。
更改调用顺序有帮助:
toolBar->setIconSize(QSize(10, 10));
toolBar->setFixedHeight(36);
我刚刚注意到我项目中的 QToolBar 也存在同样的问题,尽管在其上显式调用 setMinimumHeight(64)
,但它并没有改变它的高度。事实证明,使用 singleShot QTimer 将其延迟到主线程的事件循环中有助于:
# self is an instance of a QToolBar subclass
QtCore.QTimer.singleShot(0, lambda : self.setMinimumHeight(64))
(在 PyQt5 中,但你应该明白了。)
在我的项目中,我有一个具有默认大小和大小策略的 QToolBar
。我想将工具栏的高度增加到36px。
到目前为止我已经尝试过:
- 正在将样式表 属性 设置到工具栏:
height: 36px;
- 将工具栏对象的大小策略设置为固定:
toolBar->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
- 设置最小高度:
toolBar->setMinimumHeight(36);
- 设置布局大小限制
toolBar->layout()->setSizeConstraint(QLayout::SetMinimumSize)
- 一次全部
并没有增加工具栏的高度。唯一可行的是增加栏内 QToolButton
对象的大小,但这不是我想要做的。我只希望工具栏本身更高。
有什么建议吗?感谢您的宝贵时间。
编辑:我目前的解决方案是为工具栏中的 QToolButton 对象添加边距。我仍然不喜欢这个,因为我在工具栏中有不同的对象类型....令人沮丧。
toolbar->setFixedHeight(36)
应该有效
toolBar->setFixedHeight(36);
- 效果很好。
但是如果我在这之后设置图标大小:
toolBar->setFixedHeight(36);
toolBar->setIconSize(QSize(10, 10));
身高崩溃了。如果我通过样式表设置图标大小,也会发生这种情况。
更改调用顺序有帮助:
toolBar->setIconSize(QSize(10, 10));
toolBar->setFixedHeight(36);
我刚刚注意到我项目中的 QToolBar 也存在同样的问题,尽管在其上显式调用 setMinimumHeight(64)
,但它并没有改变它的高度。事实证明,使用 singleShot QTimer 将其延迟到主线程的事件循环中有助于:
# self is an instance of a QToolBar subclass
QtCore.QTimer.singleShot(0, lambda : self.setMinimumHeight(64))
(在 PyQt5 中,但你应该明白了。)