可以使用QHBoxLayout或QVBoxLayout来实现在QWidget上同时显示QLabel和QPixmap。
示例代码如下:
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QVBoxLayout
from PyQt5.QtGui import QPixmap
class MyApp(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 创建一个QLabel控件用于显示文本信息
lbl = QLabel('Hello World!')
# 创建一个QPixmap对象用于显示图片
pixmap = QPixmap('example.png')
lbl_pixmap = QLabel()
lbl_pixmap.setPixmap(pixmap)
# 使用垂直布局器将两个控件添加到QWidget中
vbox = QVBoxLayout()
vbox.addWidget(lbl)
vbox.addWidget(lbl_pixmap)
# 设置QWidget的布局为vbox并设置窗口标题和大小
self.setLayout(vbox)
self.setWindowTitle('MyApp')
self.setGeometry(300, 300, 250, 150)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MyApp()
ex.show()
sys.exit(app.exec_())
运行上述代码,将会看到一个窗口,其中包含了一个文本“Hello World!”和一张名为example.png的图片。