Ana Pencereye nasıl resim ekleyebilirim?

normal bir ana pencereye pixmap aracılığıyla image eklemek çok basit.
Fakat h_box ve v_box kullanılan yerlere asla resim ekleyemedim.

Bir Müzik oynatıcısı yaptım. Arkaplan rengi ve butonlarını ayarladım (renkler).
Son olarak arkaplanın üzerine küçük küçük nota işaretleri koymak istedim.
Ancak nasıl image ekleyebileceğimi bilmiyorum.


from PyQt5.QtWidgets import QMainWindow , QApplication , QLabel 
import sys
import Music #qtdesigner
import simpleaudio as sa
from PyQt5.QtGui import QPixmap


class Pencere(QMainWindow, Music.Ui_muzikler):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.wave_obj1 = sa.WaveObject.from_wave_file("C:/Users/taylan öztürk/Desktop/NCS/Alan Walker/Wav/Force.wav")
        self.wave_obj2 = sa.WaveObject.from_wave_file("C:/Users/taylan öztürk/Desktop/NCS/Alan Walker/Wav/Faded.wav")
        self.wave_obj3 = sa.WaveObject.from_wave_file("C:/Users/taylan öztürk/Desktop/NCS/Alan Walker/Wav/Live Fast.wav")
        self.wave_obj4 = sa.WaveObject.from_wave_file("C:/Users/taylan öztürk/Desktop/NCS/Alan Walker/Wav/Dream It Possible.wav")
        self.wave_obj5 = sa.WaveObject.from_wave_file("C:/Users/taylan öztürk/Desktop/NCS/Alan Walker/Wav/Nimet.wav")
        self.wave_obj6 = sa.WaveObject.from_wave_file("C:/Users/taylan öztürk/Desktop/NCS/Alan Walker/Wav/Frag Out.wav")
        self.wave_obj7 = sa.WaveObject.from_wave_file("C:/Users/taylan öztürk/Desktop/NCS/Alan Walker/Wav/Lost On You.wav")
        self.wave_obj8 = sa.WaveObject.from_wave_file("C:/Users/taylan öztürk/Desktop/NCS/Alan Walker/Wav/Hear A Fire.wav")
        self.wave_obj9 = sa.WaveObject.from_wave_file("C:/Users/taylan öztürk/Desktop/NCS/Alan Walker/Wav/Ya Lili.wav")
        self.wave_obj10 = sa.WaveObject.from_wave_file("C:/Users/taylan öztürk/Desktop/NCS/Alan Walker/River Flows.wav")
        self.pushButton_11.setStyleSheet("background : rgb(255, 51, 112);")

        self.pushButton_2.setStyleSheet("background:rgb(153,120,152,255);")
        self.pushButton_6.setStyleSheet("background:rgb(108,102,107,255);")
        self.pushButton_9.setStyleSheet("background:rgb(153,120,152,255);")
        self.pushButton_10.setStyleSheet("background:rgb(108,102,107,255);")
        self.pushButton_8.setStyleSheet("background:rgb(153,120,152,255);")
        self.pushButton_7.setStyleSheet("background:rgb(108,102,107,255);")
        self.pushButton_5.setStyleSheet("background:rgb(153,120,152,255);")
        self.pushButton_4.setStyleSheet("background:rgb(108,102,107,255);")
        self.pushButton_3.setStyleSheet("background:rgb(153,120,152,255);")
        self.pushButton.setStyleSheet("background:rgb(108,102,107,255);")

        self.setStyleSheet("background-color: black")

        labelimage = QLabel(self)
        pixmap = QPixmap("kartal.jpg")
        labelimage.setPixmap(pixmap)
        labelimage.move(0,0)
        
        #self.pushButton_x.setStyleSheet("background: rgb(153,120,152,255")
        #self.*pushButton_x*.setStyleSheet("background: rgb(108,102,107,255)")
        
        

        self.pushButton.clicked.connect(self.click1)
        self.pushButton_2.clicked.connect(self.click2)
        self.pushButton_3.clicked.connect(self.click3)
        self.pushButton_4.clicked.connect(self.click4)
        self.pushButton_5.clicked.connect(self.click5)
        self.pushButton_6.clicked.connect(self.click6)
        self.pushButton_7.clicked.connect(self.click7)
        self.pushButton_8.clicked.connect(self.click8)
        self.pushButton_9.clicked.connect(self.click9)
        self.pushButton_10.clicked.connect(self.click10)
        self.pushButton_11.clicked.connect(self.click11)    #stopbutton



    def click1(self):
        self.wave_obj10.play()
        

    def click2(self):
        self.wave_obj1.play()

    def click3(self):
        self.wave_obj9.play()

    def click4(self):
        self.wave_obj8.play()

    def click5(self):
        self.wave_obj7.play()

    def click6(self):
        self.wave_obj2.play()

    def click7(self):
        self.wave_obj6.play()

    def click8(self):
        self.wave_obj5.play()

    def click9(self):
        self.wave_obj3.play()

    def click10(self):
        self.wave_obj4.play()

    def click11(self):
        sa.stop_all()
        


    




app = QApplication(sys.argv)
pencere = Pencere()
pencere.setWindowTitle("Music Player")
pencere.show()
sys.exit(app.exec_())

kodlar bu şekilde.
html ile position absolute yapar gibi nasıl image ekleyebilirim ?

Pencerenin arka planı ile ilgileniyorsanız, doğrudan pencerenin (QMainWindow) üzerine eklemelisiniz. Ben buraya bir örnek bırakacağım. Siz bakıp, kodunuza entegre edersiniz.

import sys
from PySide2.QtWidgets import QApplication, QMainWindow

class MainWindow(QMainWindow):
    def __init__(self):
        super(MainWindow, self).__init__()
        self.setFixedSize(800, 600)
        self.setStyleSheet("""
            background-image:url('img.jpg');
            background-repeat:no-repeat;""");

if __name__ == "__main__":
    app = QApplication(sys.argv)

    window = MainWindow()
    window.show()

    sys.exit(app.exec_())

Eve dönünce deneyeceğim.

Fakat bu sanırım pencere arkaplanının tümünü bir image ile dolduracak.
Ben birden fazla küçük küçük resimleri ekranın istediğim yerlerine koymak istiyorum.

Birden fazla imaj dosyası eklemek, pek sağlıklı olmaz. Bunu yapan bir program görmeniz neredeyse olanaksız. Noktalardan oluşan bir imaj dosyası bulun. Onu arka plan resmi olarak kullanın.

Tamam o zaman eve dönünce geri dönüş yaparım size

self.lbl_foto = QtWidgets.QLabel(self.centralwidget)
self.lbl_foto.setMinimumSize(QtCore.QSize(118, 80))
self.lbl_foto.setStyleSheet(“border-image: url(“path”);”)
self.lbl_foto.setText("")

birden fazla label oluşturup kullanabilirsiniz

maalesef işe yaramadı

Ekran Alıntısı

bu şekilde yazdım ancak
Could not create pixmap from kartal.jpg
diyor terminalde. Daha sonra arayüzü açıyor yine

hata ne
şuan çalıştığım bir projede resimi böyle ekliyorum

bu şekilde yazdım ve :

AttributeError: ‘Pencere’ object has no attribute ‘centralwidget’
dedi

Kodları atar mısınız? Bir de burada yazım hatası yapmışsınız.

oluşturduğun pencereyi QMainWindow olarak almamışssın belliki ben bu hatayı sadece QMainWindow kullanınca almamıştım

kodların tam hali bu şekilde.
@Nurullah_Sahin QMainWindow olarak aldım fakat yine de bu hata var


from PyQt5.QtWidgets import QMainWindow , QApplication , QLabel 
import sys
import Music #qtdesigner
import simpleaudio as sa
from PyQt5 import QtCore



class Pencere(QMainWindow, Music.Ui_muzikler):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.wave_obj1 = sa.WaveObject.from_wave_file("C:/Users/taylan öztürk/Desktop/NCS/Alan Walker/Wav/Force.wav")
        self.wave_obj2 = sa.WaveObject.from_wave_file("C:/Users/taylan öztürk/Desktop/NCS/Alan Walker/Wav/Faded.wav")
        self.wave_obj3 = sa.WaveObject.from_wave_file("C:/Users/taylan öztürk/Desktop/NCS/Alan Walker/Wav/Live Fast.wav")
        self.wave_obj4 = sa.WaveObject.from_wave_file("C:/Users/taylan öztürk/Desktop/NCS/Alan Walker/Wav/Dream It Possible.wav")
        self.wave_obj5 = sa.WaveObject.from_wave_file("C:/Users/taylan öztürk/Desktop/NCS/Alan Walker/Wav/Nimet.wav")
        self.wave_obj6 = sa.WaveObject.from_wave_file("C:/Users/taylan öztürk/Desktop/NCS/Alan Walker/Wav/Frag Out.wav")
        self.wave_obj7 = sa.WaveObject.from_wave_file("C:/Users/taylan öztürk/Desktop/NCS/Alan Walker/Wav/Lost On You.wav")
        self.wave_obj8 = sa.WaveObject.from_wave_file("C:/Users/taylan öztürk/Desktop/NCS/Alan Walker/Wav/Hear A Fire.wav")
        self.wave_obj9 = sa.WaveObject.from_wave_file("C:/Users/taylan öztürk/Desktop/NCS/Alan Walker/Wav/Ya Lili.wav")
        self.wave_obj10 = sa.WaveObject.from_wave_file("C:/Users/taylan öztürk/Desktop/NCS/Alan Walker/River Flows.wav")
        self.pushButton_11.setStyleSheet("background : rgb(255, 51, 112);")

        self.pushButton_2.setStyleSheet("background:rgb(153,120,152,255);")
        self.pushButton_6.setStyleSheet("background:rgb(108,102,107,255);")
        self.pushButton_9.setStyleSheet("background:rgb(153,120,152,255);")
        self.pushButton_10.setStyleSheet("background:rgb(108,102,107,255);")
        self.pushButton_8.setStyleSheet("background:rgb(153,120,152,255);")
        self.pushButton_7.setStyleSheet("background:rgb(108,102,107,255);")
        self.pushButton_5.setStyleSheet("background:rgb(153,120,152,255);")
        self.pushButton_4.setStyleSheet("background:rgb(108,102,107,255);")
        self.pushButton_3.setStyleSheet("background:rgb(153,120,152,255);")
        self.pushButton.setStyleSheet("background:rgb(108,102,107,255);")

        self.lbl_foto = QLabel(self.centralwidget)
        self.lbl_foto.setMinimumSize(QtCore.QSize(118, 80))
        self.lbl_foto.setStyleSheet("border-image: url(kartal.jpg);")
        self.lbl_foto.setText("")

        


        
        #self.pushButton_x.setStyleSheet("background: rgb(153,120,152,255")
        #self.*pushButton_x*.setStyleSheet("background: rgb(108,102,107,255)")
        
        

        self.pushButton.clicked.connect(self.click1)
        self.pushButton_2.clicked.connect(self.click2)
        self.pushButton_3.clicked.connect(self.click3)
        self.pushButton_4.clicked.connect(self.click4)
        self.pushButton_5.clicked.connect(self.click5)
        self.pushButton_6.clicked.connect(self.click6)
        self.pushButton_7.clicked.connect(self.click7)
        self.pushButton_8.clicked.connect(self.click8)
        self.pushButton_9.clicked.connect(self.click9)
        self.pushButton_10.clicked.connect(self.click10)
        self.pushButton_11.clicked.connect(self.click11)    #stopbutton



    def click1(self):
        self.wave_obj10.play()
        

    def click2(self):
        self.wave_obj1.play()

    def click3(self):
        self.wave_obj9.play()

    def click4(self):
        self.wave_obj8.play()

    def click5(self):
        self.wave_obj7.play()

    def click6(self):
        self.wave_obj2.play()

    def click7(self):
        self.wave_obj6.play()

    def click8(self):
        self.wave_obj5.play()

    def click9(self):
        self.wave_obj3.play()

    def click10(self):
        self.wave_obj4.play()

    def click11(self):
        sa.stop_all()
        


    




app = QApplication(sys.argv)
pencere = Pencere()
pencere.setWindowTitle("Music Player")
pencere.show()
sys.exit(app.exec_())

self.centralwidget sil

self.lbl_foto = QLabel()

evet o şekilde yaptım ve açıldı. Fakat image yok ortada.
JPG ismi doğru bu arada çok kere kontrol ettim

başta import ettiğin mizk modülünün(QT designer ile yapmışsın) içnde bir widget olmalı benim self.central widget dediğim yere onun ismizni yaz

     self.lbl_foto = QLabel(self.widget_ismi)
    self.lbl_foto.setMinimumSize(QtCore.QSize(118, 80))
    self.lbl_foto.setStyleSheet("border-image: url(kartal.jpg);")
    self.lbl_foto.setText("")

şunu kastediyorsun değil mi ?
Ekran görüntüsü 2020-09-24 174626

QtDesigner’dan aldığım widget. Ui_Muzikler

Dediğin gibi yazdığım zaman tab’de böyle bir şey görünmüyor

aynı şeyi şöyle de denedim

fakat ikisi de tabde görünmüyor.

Qt designer içinde tüm nesneleri bir widget içerisen ekle ardından o widget içerisinde bir label oluştur ve onun içine resim ekle qt designer ile bir QMain vindow penceresi oluşturduğunda otomatikmen tüm pencereyi kaplayan bir QWidget var onun adıda centralwidget sende bu yoksa kendin oluştur
Ekran görüntüsü_2020-09-24_18-26-14

burada göründüğü gibi nesneleri centralwidget başlığının altına eklemelisin

1 Beğeni

tamamdır bu sefer gerçekten oldu. Çok teşekkür ederim

1 Beğeni