我试图在QMainWindow类中显示图片:
from PyQt5.QtWidgets import QLabel, QMainWindow, QApplication
from PyQt5.QtGui import QPixmap
import sys
class Menu(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Title")
label = QLabel(self)
pixmap = QPixmap('capture.png')
label.setPixmap(pixmap)
self.resize(pixmap.width(), pixmap.height())
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Menu()
sys.exit(app.exec_())
但是它不显示图像,只是打开窗口。我坚持要使用QMainWindow
类,因为我试图编写诸如绘画应用程序之类的东西,因此我将能够编写菜单,并且能够在图片上书写。>
任何建议将不胜感激。
谢谢。
答案 0 :(得分:2)
QMainWindow.setCentralWidget(小部件)
将给定的小部件设置为主窗口的中央小部件。
from PyQt5.QtWidgets import QLabel, QMainWindow, QApplication, QWidget, QVBoxLayout
from PyQt5.QtGui import QPixmap
import sys
class Menu(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Title")
self.central_widget = QWidget()
self.setCentralWidget(self.central_widget)
lay = QVBoxLayout(self.central_widget)
label = QLabel(self)
pixmap = QPixmap('logo.png')
label.setPixmap(pixmap)
self.resize(pixmap.width(), pixmap.height())
lay.addWidget(label)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Menu()
sys.exit(app.exec_())