QT使用qss,交叉后在开发板上没有效果

jiamianshiye 2013-08-27 04:43:08
如题,我使用了很多的图片来填充pushbutton,所以将样式表都写到了qss文件中,将图片也留在了对应的文件夹下面。
在windows和ubuntu下,运行都正常,都能看到图片显示。但是经过交叉编译后,在开发板上运行的话,样式表无法显示出来。
是不是嵌入式平台不支持样式表!!
住:我的图片格式都是png格式
...全文
369 26 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhxianbin 2013-09-03
  • 打赏
  • 举报
回复
这个确实没有,但是为什么我也不清楚,可能要看makefile才能弄清到底干什么了。
jiamianshiye 2013-09-03
  • 打赏
  • 举报
回复
引用 24 楼 zhxianbin 的回复:
这个有没有设置 export QT_PLUGIN_PATH=/usr/local/Trolltech/QtEmbedded-4.8.1-arm/plugins/
为什么编译QT库时,就算我添加了-qt-zlib,以及-qt-libpng, 在Ubuntu下的安装路径***/plugins/imageformats 目录下,也没有libqpng--png的库产生呢??
zhxianbin 2013-09-02
  • 打赏
  • 举报
回复
为了辨别是 qt编译的问题还是 应用软件的问题,你首先找一个qt官方的demos编译运行看看,如果没问题就是你应用程序的问题了。
jiamianshiye 2013-09-02
  • 打赏
  • 举报
回复
引用 17 楼 zhxianbin 的回复:
这说明图片加载有问题了,找找路径、res是否编译了 有没有问题
/usr/local/Trolltech/QtEmbedded-4.8.1-arm/bin/rcc -name res res.qrc -o qrc_res.cpp 这是Make的过程。这个应该可以说明res已经被编译成功了吧。 大神如果可以的话留个QQ吧。这个问题挺纠结的。
zhxianbin 2013-09-02
  • 打赏
  • 举报
回复
这说明图片加载有问题了,找找路径、res是否编译了 有没有问题
jiamianshiye 2013-09-02
  • 打赏
  • 举报
回复
引用 15 楼 zhxianbin 的回复:
/configure -prefix /opt/tq335x/qt-4.8.5 -opensource -confirm-license -fast -no-accessibility -qt-sql-sqlite -no-qt3support -no-xmlpatterns -no-multimedia -no-audio-backend -no-phonon -no-phonon-backend -no-svg -no-webkit -no-javascript-jit -no-script -no-scripttools -no-declarative -no-declarative-debug -qt-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -nomake libs,tools,examples,demos,docs -no-nis -no-cups -no-iconv -no-dbus -embedded arm -little-endian -host-little-endian -qt-freetype -no-opengl -depths all -qt-gfx-linuxfb -qt-kbd-tty -qt-kbd-linuxinput -qt-mouse-tslib -qt-mouse-pc -qt-mouse-linuxinput -no-glib -platform linux-g++-32 -xplatform linux-tq335x-gnueabi-g++ 这是我的配置,我只使用了 gui 部分,其它都没编译。
我在代码添加了打印信息, int isTrue = m_pixmapBg.load(":/res/image/background.png"); qDebug()<<"load background result is: "<<isTrue; 结果是:load background result is: 0 我又试了试吧图片直接在creator 的ui上直接添加样式表,还是不行。我快崩溃了。
zhxianbin 2013-09-02
  • 打赏
  • 举报
回复
这个有没有设置 export QT_PLUGIN_PATH=/usr/local/Trolltech/QtEmbedded-4.8.1-arm/plugins/
jiamianshiye 2013-09-02
  • 打赏
  • 举报
回复
引用 21 楼 zhxianbin 的回复:
找找有没有png的库吧 libpng.so
我把ligqjpeg.so放到开发板根目录的lib下面,这次可以显示jpeg了。关于png的,应该也没啥打问题了。我回头自己在整一下。 非常感谢你能给我这么多回复。分不多,就都给你了。
jiamianshiye 2013-09-02
  • 打赏
  • 举报
回复
引用 21 楼 zhxianbin 的回复:
找找有没有png的库吧 libpng.so


没有ligpng.so,倒是有其他的

我在pro文件里添加了QTPLUGIN += qjpeg qmng这句代码,经过交叉编译以后,生成了可执行文件test_png,又用工具查看了test_png的链接库,
只是在开发板上运行时,出现了错误./test_png/test_png: error while loading shared libraries: libqjpeg.so: cannot open shared object file: No such file or directory

在/etc/profile里面,我已经改过了LD_LIBRARY_PATH,但是运行结果很令人蛋疼。还是不行。
zhxianbin 2013-09-02
  • 打赏
  • 举报
回复
找找有没有png的库吧 libpng.so
jiamianshiye 2013-09-02
  • 打赏
  • 举报
回复
引用 19 楼 zhxianbin 的回复:
为了辨别是 qt编译的问题还是 应用软件的问题,你首先找一个qt官方的demos编译运行看看,如果没问题就是你应用程序的问题了。
官方例子我试过了,也不行。
jiamianshiye 2013-08-30
  • 打赏
  • 举报
回复
引用 13 楼 zhxianbin 的回复:
是不是 configure 有问题? 编译阶段已经结束,链接阶段出错
./configure -embedded arm -host-little-endian -qt-libpng -qt-libjpeg -no-pch -no-cups -no-3dnow -nomake examples -nomake demos -nomake docs -xplatform /qws/linux-TIarmv7-g++ 昨晚高了半宿,终于安装成功了。只是交叉编译后还不行,还不能在开发板上显示png图片。这是我的configure配置,你看看对不。
zhxianbin 2013-08-30
  • 打赏
  • 举报
回复
/configure -prefix /opt/tq335x/qt-4.8.5 -opensource -confirm-license -fast -no-accessibility -qt-sql-sqlite -no-qt3support -no-xmlpatterns -no-multimedia -no-audio-backend -no-phonon -no-phonon-backend -no-svg -no-webkit -no-javascript-jit -no-script -no-scripttools -no-declarative -no-declarative-debug -qt-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -nomake libs,tools,examples,demos,docs -no-nis -no-cups -no-iconv -no-dbus -embedded arm -little-endian -host-little-endian -qt-freetype -no-opengl -depths all -qt-gfx-linuxfb -qt-kbd-tty -qt-kbd-linuxinput -qt-mouse-tslib -qt-mouse-pc -qt-mouse-linuxinput -no-glib -platform linux-g++-32 -xplatform linux-tq335x-gnueabi-g++ 这是我的配置,我只使用了 gui 部分,其它都没编译。
zhxianbin 2013-08-29
  • 打赏
  • 举报
回复
引用 6 楼 jiamianshiye_16_com 的回复:
[quote=引用 5 楼 zhxianbin 的回复:] [quote=引用 4 楼 jiamianshiye_16_com 的回复:] [quote=引用 2 楼 zhxianbin 的回复:] 嵌入式平台肯定是支持样式表的,我试过,不过不是 qss,qss也是以字符串读入的,我想应该也是没问题的。
那请问下,嵌入式平台,就是ARM平台,对图片格式有没有要求呀[/quote]你用的png图片,看看编译时有没有加上 -qt-png 的选项[/quote] 你是说编译 QT源码时加上 -qt-png 还是在编译QT工程时在Makefile文件里手动添加-qt-png??求详解[/quote]源码编译时
jiamianshiye 2013-08-29
  • 打赏
  • 举报
回复
引用 5 楼 zhxianbin 的回复:
[quote=引用 4 楼 jiamianshiye_16_com 的回复:] [quote=引用 2 楼 zhxianbin 的回复:] 嵌入式平台肯定是支持样式表的,我试过,不过不是 qss,qss也是以字符串读入的,我想应该也是没问题的。
那请问下,嵌入式平台,就是ARM平台,对图片格式有没有要求呀[/quote]你用的png图片,看看编译时有没有加上 -qt-png 的选项[/quote] 你是说编译 QT源码时加上 -qt-png 还是在编译QT工程时在Makefile文件里手动添加-qt-png??求详解
zhxianbin 2013-08-29
  • 打赏
  • 举报
回复
是不是 configure 有问题? 编译阶段已经结束,链接阶段出错
jiamianshiye 2013-08-29
  • 打赏
  • 举报
回复
引用 11 楼 zhxianbin 的回复:
configure 之前 有没有 make confclean? 这个错已经编译完成了,只是链接找不到库。
能否详细点? make报错退出 这表示编译已经完成了?? 我换了个4.8.5的,还是出现了这个错误
zhxianbin 2013-08-29
  • 打赏
  • 举报
回复
configure 之前 有没有 make confclean? 这个错已经编译完成了,只是链接找不到库。
jiamianshiye 2013-08-29
  • 打赏
  • 举报
回复
引用 8 楼 zhxianbin 的回复:
应该是 -qt-libpng
请问下,再次编译时出现了这样的东西,是make 时报的错cannot find -lQtCore。
_Gx 2013-08-29
  • 打赏
  • 举报
回复
编译的时候要添加png格式的支持吧。
加载更多回复(6)

16,818

社区成员

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

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