адаптация окна и кнопок
Я изучаю PyQt5 и столкнулся с такой проблемой: необходимо что бы изображение растягивалось вместе с окном, а кнопки встали на место синих прямоугольников и так же изменялись с размерами окна и изображения.
Вот мой код. Думал использовать функцию resizeEvent, но пока что не совсем понимаю как ее внедрить.
from PyQt5 import QtWidgets, QtGui, QtCore
from PyQt5.QtWidgets import QApplication, QMainWindow
import sys
class K01(QMainWindow):
def __init__(self):
super(K01, self).__init__()
self.w1=QtWidgets.QWidget()
self.setCentralWidget(self.w1)
self.setWindowTitle("!!!")
self.setGeometry(200, 100, 720, 405)
self.picture = QtWidgets.QLabel(self)
self.picture.setGeometry(0, 0, 750, 400)
self.picture.setPixmap(QtGui.QPixmap("к01осн.png"))
self.picture.setScaledContents(True)
self.btn = QtWidgets.QPushButton(self)
self.btn.setText("C01")
self.btn.setFixedWidth(150)
self.btn.setFixedHeight(60)
self.btn.setFlat(True)
self.btn.setStyleSheet("QPushButton {color: yellow; "
"font: 28pt Times New Roman }")
self.btn.clicked.connect(self.C01)
self.btn1 = QtWidgets.QPushButton(self)
self.btn1.setText("C02")
self.btn1.setFixedWidth(150)
self.btn1.setFixedHeight(60)
self.btn1.setFlat(True)
self.btn1.setStyleSheet("QPushButton {color: yellow; "
"font: 28pt Times New Roman }")
self.btn2 = QtWidgets.QPushButton(self)
self.btn2.setText("C03")
self.btn2.setFixedWidth(150)
self.btn2.setFixedHeight(60)
self.btn2.setFlat(True)
self.btn2.setStyleSheet("QPushButton {color: yellow; "
"font: 28pt Times New Roman }")
self.gird=QtWidgets.QGridLayout(self.w1)
self.gird.addWidget(self.picture, 0,0,6,0)
self.btngird=QtWidgets.QGridLayout()
self.btngird.addWidget(self.btn, 0, 0, 0, 0)
self.gird.addLayout(self.btngird, 2, 0)
self.btngird.setContentsMargins(-100,-100,-100,-100)
self.btn1gird=QtWidgets.QGridLayout()
self.btn1gird.addWidget(self.btn1, 0, 0, 0, 0)
self.gird.addLayout(self.btn1gird, 3, 0)
self.btn2gird=QtWidgets.QGridLayout()
self.btn2gird.addWidget(self.btn2, 0, 0, 0, 0)
self.gird.addLayout(self.btn2gird, 4, 0)
def C01 (self):
self.wK01=sect01()
self.wK01.show()
def application():
app = QApplication(sys.argv)
window = K01()
window.show()
sys.exit(app.exec_())
if __name__ == "__main__":
application()