To co mi przychodzi do głowy, ale nie wiem czy jest zgodne z praktykami.
- klasa Car z metodą przyjmującą jako parametr label do zmiany.
- w window dziedziczenie po Qdialog i Car żeby mieć dostęp do metody
- button z przypisaną funkcją anonimową dzięki temu można odpalić funkcje z parametrem (funkcja jako parametr przyjmuje label do zmiany)
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QDialog, QVBoxLayout, QLabel, QPushButton
import sys
class Car:
def showStopInLabel(self,label):
label.setText('dojechalem do mety')
class Window(QDialog,Car):
def __init__(self):
super().__init__()
self.title = "Jazda"
self.top = 200
self.left = 500
self.width = 400
self.height = 300
self.InitWindow()
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
def InitWindow(self):
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
Main_Layout = QVBoxLayout()
self.label = QLabel('samochód stoi')
Main_Layout.addWidget(self.label)
driveButton = QPushButton('jedz')
driveButton.clicked.connect(lambda: self.showStopInLabel(self.label))
Main_Layout.addWidget(driveButton)
self.setLayout(Main_Layout)
self.show()
app = QApplication(sys.argv)
w = Window()
sys.exit(app.exec_())