【问题标题】:How to apply a mask to a qwebview in PyQt?如何在 PyQt 中对 qwebview 应用掩码?
【发布时间】:2018-03-03 19:42:40
【问题描述】:

我正在尝试在 PyQt4 或 PySide 或 PySide2 中使用 QWebView.mask(),将透明 QWebView 的透明像素转换为窗口掩码,就像具有自定义形状的无框窗口一样,但不起作用,窗口是半透明的.

webview = QtWebKit.QWebView()
mask = webview.mask()
webview.setMask(mask)

为什么这不起作用,存在哪些替代方案以及我如何解决这个问题?

注意:我也在尝试使用 QWidget,但仍然无法正常工作。

widget = QtGui.QWidget()
mask = widget.mask()
widget.setMask(mask)

类似这样的:Using an alpha transparent mask on a QWidget?

但对于 PyQt4,而不是 Qt,因为我正在编写脚本...

【问题讨论】:

    标签: pyqt4 pyside pyside2


    【解决方案1】:

    也许是这个?

    webview.setAttribute(QtCore.Qt.WA_TransparentForMouseEvents)
    
    widget.setAttribute(QtCore.Qt.WA_TransparentForMouseEvents)
    

    这两个都适用,希望对你有帮助...

    【讨论】:

    • 它适用于禁用鼠标事件,但不能通过窗口点击! :(
    • 嗯,对不起,也许你可以结合 QPixmap,grabWidget
    • 我该怎么做?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多