【问题标题】:How to hide handles in QSplitter widget?如何隐藏 QSplitter 小部件中的句柄?
【发布时间】:2009-09-06 08:20:02
【问题描述】:

是否可以从 QSplitter 小部件中完全隐藏句柄?我试图 hide() 它们但它不起作用 - 句柄仍在屏幕上并且 isVisible() 报告错误。

QSplitter::setHandleWidth 无法按预期工作 - 使用 0 调用它时不会隐藏句柄。

【问题讨论】:

    标签: c++ qt qt4


    【解决方案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。 如果您使用设计器,将句柄宽度属性设置为零就可以了。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-10-09
          • 1970-01-01
          • 2014-05-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多