给Label加入图片,大致需要以下几步 *** 作:
1、首先要定义并实例化一个ImageIcon对象,并指定所要使用的图片。
2、其次是定义并实例化一个Label按钮,并且把ImageIcon对象填入Label中。
3、再次就是给Label按钮设置显示位置及大小,其中大小要跟图片和大小一致,这点很关键,因为这样才能使得Label按钮刚好被图片填充满。
4、最后就是将Laben按钮置入容器内,即可完成图片添加及显示。
在编程中很多人都会遇到图片加入Label中却不显示,原因就在于没有设置大小,或者图片路径不正确,导致ImageIcon本身就是空白,这点很关键。
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
}
java API中 JLabel有个setIcon方法 可以把一张图片设置为JLabel的图标setIcon
public void setIcon(Icon icon)定义此组件将要显示的图标。如果 icon 值为 null,则什么也不显示。
此属性的默认值为 null。
这是一个 JavaBeans 绑定属性。
另请参见:
setVerticalTextPosition(int), setHorizontalTextPosition(int), getIcon()
如果不写文字的话就是单独显示一个图标 如果添加文字的话 可以设置Icon显示的位置
比如label.setIcon(new ImageIcon("图片位置"))
如果是想把图片作为背景 就需要重写JLabel的paintComponents方法了
看楼主需要哪种
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)