E-comon 发表于 2021-4-30 09:38:19

如何在再次调用settext时清除append添加的内容

我在编写QpushButton的槽函数时,写了ui->label->settext(str.append("aaa");
但是在测试程序时,每次按下pushbutton就会在之前的text后面再次重复加上append里面的内容,导致aaa越来越多。我试过在代码前加上clear,但是问题照常,我想到可能是append的问题而不是clear,问一下,如何清楚settext里面append的内容,防止不断重复?

lxc 发表于 2021-4-30 09:38:20

append具有修改原字符串的功能,你的str如果是成员变量或全局变量就会一直追加append内容,修改成局部变量就好了

E-comon 发表于 2021-4-30 10:47:50

lxc 发表于 2021-4-30 10:00
append具有修改原字符串的功能,你的str如果是成员变量或全局变量就会一直追加append内容,修改成局部变量 ...

谢谢!解决了:hug::hug::hug::hug::hug::hug::hug::hug::hug:

E-comon 发表于 2021-5-8 10:13:59

lxc 发表于 2021-4-30 09:38
append具有修改原字符串的功能,你的str如果是成员变量或全局变量就会一直追加append内容,修改成局部变量 ...

等一下,还是有问题啊,万一有好几个槽函数要调用这个字符串呢?:Q

lxc 发表于 2021-5-8 17:34:23

E-comon 发表于 2021-5-8 10:13
等一下,还是有问题啊,万一有好几个槽函数要调用这个字符串呢?

有点不知道怎么回答你了,字符串修改有很多方法,append只是其中一种,而且应用场景千百万,你只要保证使用时,是你想要的形式就好了,如果你是为了解决特定的问题,你把代码贴出来,我给你看看,但这不是根本办法,以后场景多着呢,还是得灵活应用才行
页: [1]
查看完整版本: 如何在再次调用settext时清除append添加的内容