示例代码为here,它像这样运行,图像如下所示:
。
主要策略是使用QBrush
加载具有数字和其他内容的背景图像,该图片最初具有透明背景。
但是,如何使QWidget
窗口具有透明背景却困扰着我。
python大神给出的解决方案
在PyQt中,您需要使用按位OR运算符|将标志添加到所有现有的窗口标志中,以使其起作用:
window.setWindowFlags(window.windowFlags() | QtCore.Qt.FramelessWindowHint)
然后做window.setAttribute(QtCore.Qt.WA_TranslucentBackground)
记住在设置标志后调用show()
方法。在此处引用文档:
注意:此函数在更改窗口的标志时调用setParent()
,从而导致小部件被隐藏。您必须调用show()
以使小部件再次可见..
在按位运算符上:https://wiki.python.org/moin/BitwiseOperators
希望这是有用的。
编辑:删除了一些不正确的信息,感谢@ekhumoro从下面的评论。