pyqt5 - 如何在 Raspberry pi 上的 PyQt5 中使窗口透明?
问题描述
我基本上有2个问题。我正在创建一个 PyQt5 应用程序,其中有一个我使用 mdi 创建的 mainwindow()。我的子窗口是一个模拟时钟和 15 个子窗口,每个子窗口有 14 个按钮。当按下子窗口中的按钮时,它将打开另一个子窗口并且当前子窗口应该关闭。16 个子窗口中的每一个都写在它们自己的类中,我从主窗口类中调用它们。
widget = analogclock()
widget1 = Example()
1) AnalogClock 应该在主窗口的后台永久运行,并且其他子窗口应该是透明的,这样无论打开哪个子窗口,都应该在后台看到analogclock。我已经在代码中尝试了所有可能的透明度指令,但是我没有获得透明度,而是获得了黑色背景。如何使子窗口透明?我在 Linux 操作系统上使用 Raspberry Pi 模块 3b。
2)我正在尝试从同一类的其他方法关闭子窗口。我使用的说明是
class mainwindow(QMainWindow):
def __init__(self, parent = None):
QMainWindow.__init__(self, parent)
self.centralwidget = QWidget(self)
self.setWindowFlags(Qt.FramelessWindowHint)
self.setCentralWidget(self.centralwidget)
self.centralwidget.setLayout(QVBoxLayout(self.centralwidget))
self.mdiArea = QMdiArea(self.centralwidget)
self.centralwidget.layout().addWidget(self.mdiArea)
self.resize(500, 500)
subWindow1 = QMdiSubWindow(self)
widget1 = button.Example()
subWindow1.setWidget(widget1)
subWindow1.setFixedSize(310,255)
subWindow1.move(100,100)
subWindow1.setWindowFlags(Qt.FramelessWindowHint)
self.mdiArea.addSubWindow(subWindow1)
subWindow1.show()
def c1(self):
subwindow1.close()
由于未定义 subwindow1,此指令给出错误,所以我使用
mainwindow.__init__.subwindow1.close()
或者
mainwindow.__init__.widget1.close()
我收到一个错误,因为函数分别没有属性“subwindow1”或“widget1”。
def Tab1(self): #I'm calling this from a button in Example Class
mainwindow.c1(self)
所以最终我想关闭 subwindow1 以便我可以新建 subwindow2 ..
PS:我没有输入代码,因为它有点冗长,有 15 个类,每个类有 14 个按钮,每个按钮都有一个方法。
谢谢您的帮助..
这些是一些与输出相关的屏幕截图..
2019-03-07-125048_1184x624_scrot.png
2019-03-07-125058_1184x624_scrot.png
解决方案
推荐阅读
- bash - 如果没有返回则执行操作
- java - 与 Kotlin 在 Fragment 中共享首选项
- typescript - 如何使用 Jest 执行不以 spec.ts 或 test.ts 结尾的测试文件
- excel - COUNTIF across multiple cells based on criteria from another cell?
- c# - 返回多个 Json 响应
- python - 如何将numpy列表数组转换为元组数组
- flutter - Flutter 和 redux 操作
- docker - 如何将摇杆/诗歌配置 ROOT=TRUE 添加到 docker-compose 文件?
- vim - 是否可以删除 Vim 中的特定行,然后再恢复它们?
- r - pbcor 和 ggcorrmat 相关性在 R 中给出了不同的置信区间