У меня в основном 2 вопроса.
Я создаю приложение PyQt5, где есть mainwindow (), который я создал с помощью mdi.
Мои подокна - это аналоговые часы и 15 подокон по 14 кнопок. Когда кнопка в подокне нажата, она откроет другое подокно, и текущее подокно должно закрыться. Каждое из 16 подокон написано в своем собственном классе, и я вызываю их из класса основного окна.
widget = analogclock()
widget1 = Example()
1) AnalogClock должен постоянно работать в фоновом режиме в главном окне, а другие подокна должны быть прозрачными, чтобы независимо от того, какое подокно было открыто, аналоговые часы должны быть видны в фоновом режиме.
Я испробовал все возможные инструкции по прозрачности в коде, но вместо прозрачности я получаю черный фон. Как сделать прозрачным подокно?
Я использую Raspberry Pi модуль 3b на ОС Linux.
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)
Итак, в конечном итоге я хочу закрыть подокно1, чтобы я мог создать новое подокно2 ..
P.S .: Я не набирал код, так как он был слишком длинным с 15 классами по 14 кнопок и методом для каждой кнопки.
Спасибо за вашу помощь ..
Это несколько скриншотов, связанных с выводом ..
2019-03-07-125048_1184x624_scrot.png
2019-03-07-125058_1184x624_scrot.png