糖豆人_编号t41 2023-05-12 20:17 采纳率: 100%
浏览 133
已结题

QT 用QLabel和pixmap加载的图片想把它清除掉应该怎么做 已经写好了判断人物坐标的函数可是不知道如何实现清除,网上查的clear和delete也都试了

QT 用QLabel和pixmap加载的图片想把它清除掉应该怎么做呀?
想实现一个人物图片移动到一个位置后清除地图中原先加载的钥匙图元
如图,已经写好了判断人物坐标的函数
可是不知道如何实现清除,网上查的clear和delete也都试了。
clear()是不知道位置写错了还是什么别的原因,总之不起作用。
delete也不知道改写在哪里,一运行就崩溃了,求解答。

img

img


这里是移动判断,判断,然后重新调用了initmap(),我自己感觉可能是因为重新画了,所以实在老图元上叠加,但是不知道怎么修正。

img


万分感谢解答。

  • 写回答

1条回答 默认 最新

  • 阿里嘎多学长 2023-05-12 20:51
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:

    您可以使用QLabel的clear()函数来清除QLabel中的pixmap,示例代码如下:

    QLabel *label = new QLabel(this); //创建QLabel
    label->setPixmap(QPixmap("image.png")); //设置pixmap
    //...
    label->clear(); //清除pixmap
    

    在您的代码中,可以将需要清除的QLabel对象传递给一个函数,然后在该函数中调用clear()函数来清除pixmap。例如:

    void clearPixmap(QLabel *label) {
        label->clear();
    }
    

    然后在您的移动判断函数中,调用该函数来清除需要清除的QLabel,例如:

    if (x == key_x && y == key_y) { //判断是否到达钥匙位置
        clearPixmap(keyLabel); //清除钥匙图元
    }
    

    其中,keyLabel是您需要清除的QLabel对象。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月2日
  • 已采纳回答 5月25日
  • 创建了问题 5月12日

悬赏问题

  • ¥30 模拟电路 logisim
  • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价