• 8069阅读
  • 26回复

[提问]图片如何重复加载 [复制链接]

上一主题 下一主题
离线xuxb
 
只看楼主 倒序阅读 楼主  发表于: 2012-12-19
— 本帖被 XChinux 执行合并操作(2012-12-24) —
关键词: 图片重复加载

图片如何重复加载
这个张图片  给做为label的背景图片
QPixmap objPixmap_bottom(":/images/sec/mid_bottom.png");
label_bottom->setPixmap(objPixmap_bottom);
这样写的话 只能加载一次
我想多加几次  也就是将多张mid_bottom.png水平重复几次
请问代码应该如何实现啊???
不是想使用样式表

承接C/C++ MFC Qt  网络通信等项目!!!
离线xuxb
只看该作者 1楼 发表于: 2012-12-18
图片如何重复加载


这个张图片  给做为label的背景图片
QPixmap objPixmap_bottom(":/images/sec/mid_bottom.png");
label_bottom->setPixmap(objPixmap_bottom);
这样写的话 只能加载一次
我想多加几次  也就是将多张mid_bottom.png水平重复几次
请问代码应该如何实现啊???


不是想使用样式表
承接C/C++ MFC Qt  网络通信等项目!!!
离线xuxb
只看该作者 2楼 发表于: 2012-12-19
顶一下!! 希望有人帮下忙
承接C/C++ MFC Qt  网络通信等项目!!!
离线shiziyang

只看该作者 3楼 发表于: 2012-12-19
那就用QPalette实现好了,去看看源码例子里的widgets/styles里那个木头皮肤的图是怎么设置到palette里的
离线xuxb
只看该作者 4楼 发表于: 2012-12-19
顶顶顶
承接C/C++ MFC Qt  网络通信等项目!!!
在线realfan

只看该作者 5楼 发表于: 2012-12-19
那就用多个QLabel,一个挨一个
离线xuxb
只看该作者 6楼 发表于: 2012-12-19
引用第2楼realfan于2012-12-19 11:25发表的  :
那就用多个QLabel,一个挨一个

这种方法不好!! 浪费资源
承接C/C++ MFC Qt  网络通信等项目!!!
离线xuxb
只看该作者 7楼 发表于: 2012-12-19
引用第2楼shiziyang于2012-12-19 10:33发表的  :
那就用QPalette实现好了,去看看源码例子里的widgets/styles里那个木头皮肤的图是怎么设置到palette里的

你说的Qt GUI 4 那本说里面的代码??
承接C/C++ MFC Qt  网络通信等项目!!!
离线xuxb
只看该作者 8楼 发表于: 2012-12-19
顶顶
承接C/C++ MFC Qt  网络通信等项目!!!
离线kh99827765

只看该作者 9楼 发表于: 2012-12-19
重写QLabel的QPaintEvent()函数来实现!
离线shiziyang

只看该作者 10楼 发表于: 2012-12-19
回 3楼(xuxb) 的帖子
sdk里带的那个,就是qtdemo里的
离线roywillow

只看该作者 11楼 发表于: 2012-12-19
或者直接用qss,我记得是border image
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线xuxb
只看该作者 12楼 发表于: 2012-12-20
引用第5楼roywillow于2012-12-19 17:13发表的  :
或者直接用qss,我记得是border image

我是想用代码 不想用qss 样式表
承接C/C++ MFC Qt  网络通信等项目!!!
离线xuxb
只看该作者 13楼 发表于: 2012-12-20
引用第5楼kh99827765于2012-12-19 16:00发表的  :
重写QLabel的QPaintEvent()函数来实现!

不太明白啊  能否具体点??
承接C/C++ MFC Qt  网络通信等项目!!!
离线jdwx

只看该作者 14楼 发表于: 2012-12-20
回 6楼(xuxb) 的帖子
将此属性选中。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线xuxb
只看该作者 15楼 发表于: 2012-12-20
起始我是想实现这样的功能  随着时间的 label标签不断变长  那个图片也要变长 是这样的
怎么实现呢??
承接C/C++ MFC Qt  网络通信等项目!!!
离线kimtaikee

只看该作者 16楼 发表于: 2012-12-20
OMG,这么一个小问题这个纠结,你要不用qss 设置你平铺图片的渐进色,要不重写paintEvent

离线kimtaikee

只看该作者 17楼 发表于: 2012-12-20
BTW,不是我打击你,我劝您还是把签名改一改。

离线kimtaikee

只看该作者 18楼 发表于: 2012-12-20
同意我的请在后面跟帖。

离线hsl17

只看该作者 19楼 发表于: 2012-12-20
六楼正解、、、、、、
离线xuxb
只看该作者 20楼 发表于: 2012-12-21
引用第10楼kimtaikee于2012-12-20 17:36发表的  :
BTW,不是我打击你,我劝您还是把签名改一改。

打击就打击吧 我不怕  本来就什么都不会 还不让问 你从娘胎出来的时候 也什么都不会
你能做到的 为什么我做不到!! 以后我还会发这种问题,本来就笨,就不会,我就问发

承接C/C++ MFC Qt  网络通信等项目!!!
离线kimtaikee

只看该作者 21楼 发表于: 2012-12-21
哥们,我也是从什么不会开始的,但是我会自己思考和找资料。

离线xuxb
只看该作者 22楼 发表于: 2012-12-21
我要是能查到  我还来论坛!!问题我能解决我只是想知道有没有更好的方法
承接C/C++ MFC Qt  网络通信等项目!!!
离线XChinux

只看该作者 23楼 发表于: 2012-12-24
写个QLabel的派生类MyLabel,重新实现其setPixmap()这个slot:

void MyLabel::setPixmap(const QPixmap &px)
{
    setAutoFillBackground(true);
    if (!text().isEmpty())
    {
        setText("");
    }
    QPalette pal = palette();
    pal.setBrush(QPalette::Background, QBrush(px));
    setPalette(pal);
}
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线jdwx

只看该作者 24楼 发表于: 2012-12-24
回 15楼(xuxb) 的帖子
也不怪kimtaikee说你,我7楼的帖子还不详细,有效果图,有属性的设置。
就算是手写代码,不就是那个属性用代码设置一下不就好了。
void    setScaledContents ( bool );
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线xuxb
只看该作者 25楼 发表于: 2012-12-25
Re:回 15楼(xuxb) 的帖子
引用第24楼jdwx于2012-12-24 15:02发表的 回 15楼(xuxb) 的帖子 :
也不怪kimtaikee说你,我7楼的帖子还不详细,有效果图,有属性的设置。
就算是手写代码,不就是那个属性用代码设置一下不就好了。
void    setScaledContents ( bool );


   我试过了 你那种虽然可以但是不是我想要的那种效果!! 不顾还是感谢你!!
承接C/C++ MFC Qt  网络通信等项目!!!
离线0354030w

只看该作者 26楼 发表于: 2012-12-26
qss border-image应该是最方便的了
快速回复
限100 字节
 
上一个 下一个