[英]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.