【问题标题】:Transparent/blur for QMenu in QCalendarWidgetQCalendarWidget 中 QMenu 的透明/模糊
【发布时间】:2022-06-28 23:15:28
【问题描述】:

我正在尝试在 QCalendarWidget 中制作透明的 QMenu。我知道如何在 QMenuBar 中实现它,但在 QCalendarWidget 中我不知道。

如果可以模糊QMenu的背景就好了

我希望有人可以帮助我。

self.ui.calendarWidget.setAttribute(Qt.WA_TranslucentBackground)
self.ui.calendarWidget.setWindowFlags(self.ui.calendarWidget.windowFlags() | Qt.FramelessWindowHint | Qt.NoDropShadowWindowHint)

这就是我想要做的。

【问题讨论】:

    标签: python qt pyside2


    【解决方案1】:

    您可以通过修改 QCalendarWidget 孙子来解决问题。

    child = self.name.findChild(QWidget, 'qt_calendar_navigationbar')
    
    grandchild = child.findChild(QHBoxLayout)
    

    您可以在此处修改边距以留出圆角空间并应用setStyleSheet

    grandchild.setStyleSheet('border-radius: 10px;'
    'background-color: black;')
    

    同样,您将能够访问所有子部件以修改子部件。

    为了知道是什么,我使用了源代码以及print(self.name.children())

    【讨论】:

      猜你喜欢
      • 2010-09-30
      • 1970-01-01
      • 2015-11-05
      • 2015-03-18
      • 2018-04-06
      • 2011-03-30
      • 1970-01-01
      • 2021-06-24
      • 2016-11-18
      相关资源
      最近更新 更多