簡體   English   中英

Python PyQt5:無法加載圖片

[英]Python PyQt5: Image doesn't load

我要加載圖像如果單擊按鈕,但是圖像中僅出現一個很小的像素。

看起來像這樣:

在此處輸入圖片說明

class MyWindow(QWidget):
    def __init__(self):
        super().__init__() 
        self.resize(1000, 1000)
        self.setWindowTitle("MyWindow")
        self.setWindowIcon(QIcon("myIcon.ico"))
        self.setMaximumSize(width, height)
        self.setMinimumSize(1000, 1000)

        self.canvas = QGroupBox(self)
        self.canvas.setStyleSheet("QGroupBox { border: 1px solid #9F9B9B}")
        self.canvas.move(350, 30)
        self.canvas.resize(210, 220)

        self.bImage = QPushButton("Load Image", self)
        self.bImage.move(150, 207)
        self.bImage.clicked.connect(self.openImage)

        self.show()      

    def openImage(self):                    
        self.label = QLabel(self)
        self.preview = QPixmap("image.png")
        self.label.setPixmap(self.preview)
        self.label.move(350, 30)     

但是奇怪的是,如果我將來自openImage()函數的代碼放入init ()函數的第一行,圖像將被完全顯示。

我應該怎么做才能通過openImage()函數加載整個圖像?

嘗試使用絕對值定位小部件通常是一個壞主意。 您應該始終盡可能使用布局。 無法顯示圖像的原因是因為您將標簽移到了組合框的后面 相反,您應該將標簽放在組框內的布局中:

class MyWindow(QtGui.QWidget):
    def __init__(self):
        ...
        self.canvas = QtGui.QGroupBox(self)
        ...
        self.label = QtGui.QLabel(self)

        layout = QtGui.QVBoxLayout(self.canvas)
        layout.addWidget(self.label)
        ...    

    def openImage(self):
        self.preview = QtGui.QPixmap("image.png")
        self.label.setPixmap(self.preview)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM