PyQt5-python3.5.2无法显示图像
问题描述:
我从昨天开始一直在努力。 所以,问题是'Example_Pix'部分。它与其他程序员编码的代码相同,但不起作用:不显示图像。有人能告诉我问题是什么吗?PyQt5-python3.5.2无法显示图像
#Import necessary modules
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
class MainWindow(QMainWindow, QWidget):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.initUI()
def hex_color(self, color): #Changes hex color to Q color
r = int(color[0:2], 16)
g = int(color[0:2], 16)
b = int(color[0:2], 16)
return QColor(r, g, b)
def Center(self): #Moves window to center
Retrieve_Geometry = self.frameGeometry()
Center_Screen = QDesktopWidget().availableGeometry().center()
Retrieve_Geometry.moveCenter(Center_Screen)
self.move(Retrieve_Geometry.topLeft())
def Example_Pix(self):
label = QLabel()
pixmap = QPixmap('icon2.png')
label.setPixmap(pixmap)
def initUI(self):
self.setWindowTitle("bear GUI")
self.setGeometry(850, 850, 850, 850)
self.Center()
self.Example_Pix()
self.show()
if __name__ == "__main__":
app = QApplication(sys.argv)
ex = MainWindow()
sys.exit(app.exec())
答
该标签没有被添加到MainWindow
任何地方。执行此操作的标准方法是将其放在layout中。你需要添加类似于你的代码
# Create a layout and add your label to it
layout = QVBoxLayout()
layout.addWidget(label)
# Create a central widget for QMainWindow and assign the layout
widget = QWidget()
widget.setLayout(layout)
self.setCentralWidget(widget)
哇它做到了。看来,我经常错过创建中心部件。谢谢。 – BullGom