如何隐藏 QSplitter 小部件中的句柄?
Posted
技术标签:
【中文标题】如何隐藏 QSplitter 小部件中的句柄?【英文标题】:How to hide handles in QSplitter widget? 【发布时间】:2009-09-06 08:20:02 【问题描述】:是否可以从 QSplitter 小部件中完全隐藏句柄?我试图 hide() 它们但它不起作用 - 句柄仍在屏幕上并且 isVisible() 报告错误。
QSplitter::setHandleWidth 无法按预期工作 - 使用 0 调用它时不会隐藏句柄。
【问题讨论】:
【参考方案1】:无法设置零宽度句柄似乎很奇怪,可能被认为是一个错误 - 但你又为什么要这样做?您将无法抓取零宽度手柄,因此您似乎真的想使用垂直/水平布局。
【讨论】:
我想“锁定”布局,就像许多应用程序中的锁定工具栏功能一样。 试试; handle->splitter(num)->setEnabled(false) 我试过了,它禁用了句柄,但不幸的是没有隐藏它们。【参考方案2】:如何继承 QSplitter 并覆盖 paintEvent(QPaintEvent*) 来阻止小部件的实际绘制?
【讨论】:
看起来 QSplitter 子类化是唯一的方法。【参考方案3】:使用 QSplitter::handleWidth(1)。 我尝试使用 handleWidth(0) 但似乎接受的最小宽度为 1
【讨论】:
【参考方案4】:将图像设置为不存在的图像似乎有效
self.splitter.setStyleSheet("QSplitter::handle image: url(images/notExists.png); ")
【讨论】:
【参考方案5】:现在可以使用零调用 QSplitter::setHandleWidth。 如果您使用设计器,将句柄宽度属性设置为零就可以了。
【讨论】:
以上是关于如何隐藏 QSplitter 小部件中的句柄?的主要内容,如果未能解决你的问题,请参考以下文章