PyQt6 Mdi Area ile logoyu alana ortalama

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)
1 Beğeni