QT中用label标签添加图片

QT中用label标签添加图片,第1张

void ScrollArea::set_image(char *filename)

{

QImage *ppm = new QImage(filename)

label = new QLabel()

printf("ppm->width()=%d, ppm->height()=%d\n",ppm->width(), ppm->height())//获取图片的宽度和高度

label->setPixmap(QPixmap::fromImage(*ppm))

this->setWidget(label)

/*设置窗口最大高度和宽度为1024*768*/

this->setMaximumHeight(768)

this->setMaximumWidth(1024)

this->resize(QSize( ppm->width()+5, ppm->height() +5))

return

}

python导入图片的方法:

一、直接从源图片中导入(图片位于images文件夹内)self.label1=QLabel(self)

self.label1.setPixmap(QPixmap(r"images/head.jpg"))

layout.addWidget(self.label1)

#或者 layout.addWidget(QLabel(self, pixmap=QPixmap("images/head.jpg")))

二、利用qrc资源导入

1、先写qrc文件

images/head.jpg

images/body.jpg

2、将qrc文件转化成py文件

转化命令为:pyrcc5 res.qrc -o res_rc.py

3、导入res_rc.py:import res_rc

4、layout.addWidget(QLabel(self,pixmap=QPixmap(":/images/head.jpg")))

注意需要添加:/符号作为前缀。

不在窗体的paintEvent里画,在Qlabel的子类里画。

扩展QLabel,做一个QLabel的子类,在子类的paintEvent里面做:

1.先调用父类的paintEvent(为了把背景画上)

2.然后再用painter画上一条线。

窗体里用这个子类label。

满意就加点分


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11381502.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存