我查看了the documentation for Qt Style Sheets,发现可以更改小部件和even set transparency的背景颜色。

这是应根据我的工作的代码段:

application = QtGui.QApplication(sys.argv)
application.setStyleSheet(QtCore.QString('MainWindow {background-color: rgba(20, 0, 0, 75%)}'))


实际上,它的工作范围是将窗口的背景色更改为相应的RGB值。但是,据我所知,alpha值对我的应用程序没有影响。

编辑:我知道Alpha通道现在正在工作,只有应用程序的背景或画布(我不确定应该怎么称呼)是黑色的。我需要使它透明,而不是主窗口小部件。我该如何实现?

注意:我正在Gnome上的Ubuntu 11.04上运行(但这应该重要吗?)。

最佳答案

我找到了一个答案elsewhere on SO,但是标签并没有导致遇到它。所以我要在这里回答我自己的问题:

Qt样式表将仅为小部件提供透明性,但这些小部件将涂在黑色画布上。为了使此画布透明,应如下更改主窗口小部件的属性:

self.setAttribute(QtCore.Qt.WA_TranslucentBackground, True)


但是,这仅提供了一种根本的解决方案:整个窗口都是透明的,但是无法设置这样的部分透明性。所以我对这个答案并不完全满意。

10-05 20:56
查看更多