QWidget 设置背景图片,为什么在pc 上可以显示,而在arm上则显示不出来

Hogan_pei 2011-12-19 03:51:53
QWidget widget
widget.setAutoFillBackground(true); // 也可以
QPalette palette;
palette.setBrush(QPalette::Background, QBrush(QPixmap(":/image/bg.png")));
widget.setPalette(palette);

我就通过上面的程序来设置QWidget 窗体的背景为一个图片, 设置后,在 pc 上编译后可以显示
但当我 交叉编译后 放到arm 上运行,就显示不错图片。不知道 这是为什么,

但QPushButton 上的图片就可以显示,不管是pc 上 还是arm 上都可以

这是为什么啊??
...全文
408 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
blueice12 2011-12-22
  • 打赏
  • 举报
回复
默认就是支持png的,可以考虑把PNG压缩下,然后用代码解压,无损压缩效果比JPG要好些。
Hogan_pei 2011-12-22
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 yiyaaixuexi 的回复:]

引用 6 楼 kanyou222 的回复:

引用 4 楼 weihua1984 的回复:

arm下有特定格式图片支持库没


怎么增加图片的支持库呢??


在编译嵌入式Qt-embedded的时候,会配置,即./configure的时候 加图片格式参数
比如 -qt-libpng -qt-gif等等 ……

png 默认支持的 我觉得不象是库的问题 image……
[/Quote]

哦,原来这样啊, 不过我改成 png 就可以了
Hogan_pei 2011-12-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 sourire_will 的回复:]

arm下有些格式的图片不能显示,楼主换成png格式的,应该可以显示
[/Quote]

我改成 png 格式可以呢,不过 怎么加图片支持库,使得 jpg 也可以呢
念茜 2011-12-21
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 kanyou222 的回复:]

引用 4 楼 weihua1984 的回复:

arm下有特定格式图片支持库没


怎么增加图片的支持库呢??
[/Quote]

在编译嵌入式Qt-embedded的时候,会配置,即./configure的时候 加图片格式参数
比如 -qt-libpng -qt-gif等等 ……

png 默认支持的 我觉得不象是库的问题 image文件夹拷贝给板子了么
Hogan_pei 2011-12-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 weihua1984 的回复:]

arm下有特定格式图片支持库没
[/Quote]

怎么增加图片的支持库呢??
sourire_will 2011-12-20
  • 打赏
  • 举报
回复
arm下有些格式的图片不能显示,楼主换成png格式的,应该可以显示
风声边界 2011-12-19
  • 打赏
  • 举报
回复
arm下有特定格式图片支持库没
Hogan_pei 2011-12-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 livealearn 的回复:]

图片的路径你设置对了吗?Liunx的路径和windows的可是有区别的
[/Quote]

就是 下面这点程序啊

#include <QApplication>
#include <QWidget>

int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget b;
QBrush brush = QBrush(QPixmap(":/images/pic1.jpg"));
b.setAutoFillBackground(true);
b.resize(QPixmap(":/images/pic1.jpg").width(),QPixmap(":/images/pic1.jpg").height());
QPalette p =b.palette();
p.setBrush(QPalette::Window,brush);
b.setPalette(p);
b.show();
return app.exec();

}

.qrc 里面 只有 images/pic1.jpg

这段程序放在windows xp 下 也可以显示图片,放下虚拟机下的 linux 中也可以显示,但是放到 arm板子中linux系统中就 不显示图片了
Hogan_pei 2011-12-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 livealearn 的回复:]

图片的路径你设置对了吗?Liunx的路径和windows的可是有区别的
[/Quote]

就是 下面这点程序啊

#include <QApplication>
#include <QWidget>

int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget b;
QBrush brush = QBrush(QPixmap(":/images/pic1.jpg"));
b.setAutoFillBackground(true);
b.resize(QPixmap(":/images/pic1.jpg").width(),QPixmap(":/images/pic1.jpg").height());
QPalette p =b.palette();
p.setBrush(QPalette::Window,brush);
b.setPalette(p);
b.show();
return app.exec();

}

.qrc 里面 只有 images/pic1.jpg

这段程序放在windows xp 下 也可以显示图片,放下虚拟机下的 linux 中也可以显示,但是放到 arm板子中linux系统中就 不显示图片了
三条猫 2011-12-19
  • 打赏
  • 举报
回复
图片的路径你设置对了吗?Liunx的路径和windows的可是有区别的

16,203

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧