【问题标题】:Designer widget shadow?设计师小部件阴影?
【发布时间】:2021-09-30 04:26:45
【问题描述】:

我在我的主窗口中添加了一个小部件,我想给它一个类似box-shadow: 3px 3px 25px #111;的节目

我在上面尝试通过转到小部件change stylesheet 选项并添加如下代码:

background-color:#fff;
border:4px solid blue;
box-shadow: 0px -3px 5px #a6a6a6;

前两个属性给出了预期的效果,但 box-shadow 不起作用。

如何使用 Python QT Designer 给小部件添加盒子阴影?

【问题讨论】:

    标签: python pyqt5 qt-designer qtstylesheets


    【解决方案1】:

    Qt StyleSheet 不是 CSS,但它是一种实现某些功能的技术,其中不包括 box-shadow。如果你想实现类似的东西,那么你应该使用 QGraphicsDropShadowEffect:

    import sys
    
    from PyQt5.QtCore import QPoint, Qt
    from PyQt5.QtGui import QColor
    from PyQt5.QtWidgets import (
        QApplication,
        QGraphicsDropShadowEffect,
        QMainWindow,
        QVBoxLayout,
        QWidget,
    )
    
    
    def main():
        app = QApplication(sys.argv)
    
        main_window = QMainWindow()
    
        container = QWidget()
        container.setContentsMargins(3, 3, 3, 3)
        main_window.setCentralWidget(container)
    
        widget = QWidget()
        widget.setAutoFillBackground(True)
    
        lay = QVBoxLayout(container)
        lay.addWidget(widget)
    
        effect = QGraphicsDropShadowEffect(
            offset=QPoint(3, 3), blurRadius=25, color=QColor("#111")
        )
        widget.setGraphicsEffect(effect)
    
        main_window.resize(640, 480)
        main_window.show()
    
        sys.exit(app.exec_())
    
    
    if __name__ == "__main__":
        main()
    

    建议您阅读 Qt Stylesheet 参考资料:

    【讨论】:

      猜你喜欢
      • 2012-04-20
      • 1970-01-01
      • 2017-09-24
      • 2022-12-05
      • 1970-01-01
      • 2019-12-05
      • 2020-01-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多