【问题标题】:Removing border of a QWidget without affecting its child elements移除 QWidget 的边框而不影响其子元素
【发布时间】:2015-08-17 12:21:25
【问题描述】:

我需要在不影响其子元素的情况下移除 QWidget 的边框。如果我将 QWidget 的边框设置为无,它将应用于其所有子元素。所以我需要一种单独为 QWidget 指定边框的方法。

【问题讨论】:

  • 这里有 2 个选项。 1. 指定确切的小部件样式:QWidget#mywidget {border:none;} 。 2. 为您的小部件设置一些属性,然后使用此类属性设置所有小部件的样式:QWidget [noborder=true] {border: none}(您需要将值为“true”的属性“noborder”添加到您的小部件)

标签: linux qt stylesheet qwidget


【解决方案1】:

也许这会有所帮助:

http://doc.qt.io/qt-4.8/stylesheet-syntax.html

选择器类型部分, ID 选择器或后代选择器

我对qt css不太了解,但会首先尝试精确定位所需的小部件,如果满足子级属性的继承,请为子级添加取消规则。

【讨论】:

    【解决方案2】:

    使用 css 文件将所有 QWidget 上的通用选择器设置为没有边框:

    QWidget {border-style: none;}
    

    给你的父 QWidget 起这样的名字:

     setObjectName("myParentWidget").
    

    然后最后为那个特定的小部件添加一个 id 选择器到你的样式表中,就像这样:

    #myParentWidget {border-style: 1px black solid;}
    

    【讨论】:

      猜你喜欢
      • 2013-09-27
      • 1970-01-01
      • 2020-04-02
      • 1970-01-01
      • 2021-08-15
      • 1970-01-01
      • 2015-10-17
      • 2018-08-23
      • 1970-01-01
      相关资源
      最近更新 更多