Merhabalar arkadaşlar,
PyQt6 ile uygulama geliştirmeye çalışoyorum, daha yolun başındayım. Pencere içinde pencere için QMdiArea sınıfını miras alan bir sınıfım var, arka planında bir logo olan bir alan oluşturacağım
paintEvent fonksiyonuyla logoyu alana çizebiliyorum ancak bir türlü pencerenin tam ortasına ayarlayamadım. Sınıfım şu şekilde
class MDIArea(QMdiArea):
def __init__(self, parent=None):
super().__init__(parent)
self.logo_pixmap = QPixmap('assets/logo.png')
def paintEvent(self, event):
painter = QPainter()
painter.begin(self.viewport())
pos_x = int(self.width()/2)
pos_y = int(self.height()/2)
painter.drawPixmap(
pos_x, pos_y,
self.logo_pixmap.width(), self.logo_pixmap.height(),
self.logo_pixmap)
painter.end()
pos_x ve pos_y ile genişlik ve yüksekliğe göre konum ayarlamaya çalıştım ancak şöyle bir görüntü elde ediyorum.
DÜZELTME
Hata bendeymiş logonun boyutlarını hesaba katmamışım. 1 gün boyunca insanın aklına gelmeyip en son başka insanlardan yardım beklerken, aslında en basit şeyleri gözden kaçırabiliyormuşuz
ÇÖZÜM
pos_x = int((self.width() - self.logo_pixmap.width()) / 2)
pos_y = int((self.height() - self.logo_pixmap.height()) / 2)