• 6076阅读
  • 4回复

[提问]关于无QT的windows环境下图片显示及中文显示的问题 [复制链接]

上一主题 下一主题
离线heavenstar
 
只看楼主 倒序阅读 楼主  发表于: 2009-11-27
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2013-04-01) —
写了一个TCP接收图片并显示图片和相关信息的程序,在我的机器上运行没有问题,windows+Qt4.4。在没有安装Qt环境的windows电脑上会有两个地方出错。
出错部分的代码如下:

void PlatePicView::refreshPicAndInfo()
{
    //更新图片
    QPixmap picPixmap;
    qDebug()<<"picBlock size:"<<picBlock.size();
    bool ret = picPixmap.loadFromData(picBlock, "JPEG");
    if(!ret)
    {
        qDebug()<<"loadFromData failed";
    }
    imageLabel->setPixmap(picPixmap);
    imageLabel->adjustSize();

    //更新信息
    model->insertRow(0);
    model->setData(model->index(0, 0), QDateTime::currentDateTime (), Qt::DisplayRole);
    QTextCodec* gbk_codec = QTextCodec::codecForName("GBK");
    if(gbk_codec==0)
    {
        qDebug()<<"codec failed";
        return;
    }
    model->setData(model->index(0, 1), gbk_codec->toUnicode(&plateInfo.license[0]), Qt::DisplayRole);
}

问题1:
loadFromData返回总是0

问题2:
gbk_codec总是返回0

我不清楚是不是在windows下面缺了Qt的插件库,造成这样的问题,是否需要qcncodecs4.dll和qjpeg4.dll这两个库文件?我把库文件放在程序目录没有效果.还有就是,大家采用什么方法在windows下面debug的.有没有可以打印出错原因的通用方法.
离线dbzhang800

只看该作者 1楼 发表于: 2009-11-27
我没用过 Qt4.5之前的版本,不清楚是不是和4.5一样,
  在 4.5 和 4.6中,只需要把Qt安装目录下的 plugins 目录里面的东西 放到你的可执行程序所在目录即可。

debug,一个是用调试器 gdb cdb等,再就是程序中加 qDebug  assert之类的
离线heavenstar
只看该作者 2楼 发表于: 2009-11-27
好像目前Qt Creater不支持VC编译器的debugger,在windows下面只有用VC来进行debug了吧。
如果把plugins目录里的东西全部放过去,就要多20MB了。
离线dbzhang800

只看该作者 3楼 发表于: 2009-11-27
引用第2楼heavenstar于2009-11-27 13:28发表的  :
好像目前Qt Creater不支持VC编译器的debugger,在windows下面只有用VC来进行debug了吧。
如果把plugins目录里的东西全部放过去,就要多20MB了。


1. Qt Creator 支持微软的 cdb 调试器,安装 Qt creator 时它会引导你去微软网站下载该工具

2. 没必要全拷,但要保持目录结构,比如 imageformats/qgif4.dll ,拷过去后要保持这样
离线heavenstar
只看该作者 4楼 发表于: 2009-11-27
非常感谢,已经搞定了。之前没有保持目录结构,以为把那些库文件拷贝到程序文件夹下面就好了,所以一直不成功。感觉Nokia更新速度还是很快的,Qt Creator1.1.1版本好像还不能支持微软的调试器,看来我要马上更新了。
快速回复
限100 字节
 
上一个 下一个