12 个解决方案
#1
能否展示下, 你所谓的“...都是显示第一张图片的代码...”; 看看错哪了?!
#2
void Dialog::on_tB1_clicked()
{
pm.load(QString(":/image/background.bmp"));
ui->lbphoto->setPixmap(pm.scaled(91,91,Qt::KeepAspectRatio));
}
void Dialog::on_tB2_clicked()
{
pm.load(QString(":/image/video.bmp"));
ui->lbphoto->setPixmap(pm.scaled(91,91,Qt::KeepAspectRatio));
}
{
pm.load(QString(":/image/background.bmp"));
ui->lbphoto->setPixmap(pm.scaled(91,91,Qt::KeepAspectRatio));
}
void Dialog::on_tB2_clicked()
{
pm.load(QString(":/image/video.bmp"));
ui->lbphoto->setPixmap(pm.scaled(91,91,Qt::KeepAspectRatio));
}
#3
代码没问题,你先确认读取图片是否顺利~```
判断一下 bool bOK = pm.load(.....);
#4
我把第一个张屏蔽了,可以显示第二张图片,可还是无法切换,你说的那个bool bOK = pm.load(.....);是在每个_clicked()中判断真假吗
#5
错了。无法读取第二种图片啊,是不是label只能显示一张图片啊,不能加载第二种图片啊,要换其他部件
#6
无法读取第二种图片, 这种情况一般是你的路径有问题, 要么就是当前图片不存在~```
另外, QLabel的setPixmap方法每次调用都会清除先前的内容,然后设置成当前指定的pixmap; 所以常规下只能显示一个pixmap~```
#7
请问下,你注意这种问题啊,我在加载的图片后面添加一个数字,他就无法显示出来比如":/image/background.bmp,我在background.bmp加个数字,也就是background1.bmp,当然我源文件也这样修改,可就无法显示出来,可除掉数字的话都是显示啊,我换了几张图片都是这样情况,不知道你遇到过没有啊
#8
是不是pixmap显示的图片有专门的加载图片字母限定啊,
#9
这和文件名无关, 前提还是你得确认图片正常加载~```你的代码写得没问题, 所以你可以跟踪下load运行是否正确即可~`` :)
#10
谢谢了,问题已经解决了,这加载的图片都必须先添加grc资源中,才能正常显示啊,我以前在Linux的QT designer中不需要这样添加到grc资源文件中,只需要放到工程文件就行了,,而QT qt creator则需要加载到grc资源中,
#11
因为你所采用的路径是相对路径~`` 如果采用绝对路径,或设置搜索路径,也可以不用加载到资源文件中~``
#12
加入到资源文件qrc试试
#1
能否展示下, 你所谓的“...都是显示第一张图片的代码...”; 看看错哪了?!
#2
void Dialog::on_tB1_clicked()
{
pm.load(QString(":/image/background.bmp"));
ui->lbphoto->setPixmap(pm.scaled(91,91,Qt::KeepAspectRatio));
}
void Dialog::on_tB2_clicked()
{
pm.load(QString(":/image/video.bmp"));
ui->lbphoto->setPixmap(pm.scaled(91,91,Qt::KeepAspectRatio));
}
{
pm.load(QString(":/image/background.bmp"));
ui->lbphoto->setPixmap(pm.scaled(91,91,Qt::KeepAspectRatio));
}
void Dialog::on_tB2_clicked()
{
pm.load(QString(":/image/video.bmp"));
ui->lbphoto->setPixmap(pm.scaled(91,91,Qt::KeepAspectRatio));
}
#3
代码没问题,你先确认读取图片是否顺利~```
判断一下 bool bOK = pm.load(.....);
#4
我把第一个张屏蔽了,可以显示第二张图片,可还是无法切换,你说的那个bool bOK = pm.load(.....);是在每个_clicked()中判断真假吗
#5
错了。无法读取第二种图片啊,是不是label只能显示一张图片啊,不能加载第二种图片啊,要换其他部件
#6
无法读取第二种图片, 这种情况一般是你的路径有问题, 要么就是当前图片不存在~```
另外, QLabel的setPixmap方法每次调用都会清除先前的内容,然后设置成当前指定的pixmap; 所以常规下只能显示一个pixmap~```
#7
请问下,你注意这种问题啊,我在加载的图片后面添加一个数字,他就无法显示出来比如":/image/background.bmp,我在background.bmp加个数字,也就是background1.bmp,当然我源文件也这样修改,可就无法显示出来,可除掉数字的话都是显示啊,我换了几张图片都是这样情况,不知道你遇到过没有啊
#8
是不是pixmap显示的图片有专门的加载图片字母限定啊,
#9
这和文件名无关, 前提还是你得确认图片正常加载~```你的代码写得没问题, 所以你可以跟踪下load运行是否正确即可~`` :)
#10
谢谢了,问题已经解决了,这加载的图片都必须先添加grc资源中,才能正常显示啊,我以前在Linux的QT designer中不需要这样添加到grc资源文件中,只需要放到工程文件就行了,,而QT qt creator则需要加载到grc资源中,
#11
因为你所采用的路径是相对路径~`` 如果采用绝对路径,或设置搜索路径,也可以不用加载到资源文件中~``
#12
加入到资源文件qrc试试