16 个解决方案
#1
setText();
#2
我试了的 不行,他只能显示一组数据,而且会把前面的覆盖掉~~~
#3
QString str = QString("%1%2%3%4%5\n").arg(k).arg(k).arg(k).arg(k).arg(k);//这个打包了的 其变化在线程里面实现的,这里只是显示
ui->textEdit->setText(QString(str));
ui->textEdit->setText(QString(str));
#4
for(int i=0; i<10; ++i){
QString text = label->text();
text.append(QString("%1%1%1%1%1\n").arg(i);
label->settext(text);
}
QString text = label->text();
text.append(QString("%1%1%1%1%1\n").arg(i);
label->settext(text);
}
#5
关键是要把前面的字符串取出来,然后追加
#6
有点头绪了,如果把循环放在线程里面的话,又怎么办呢?这里的setText只做显示作用!
#7
大哥 谢谢你,线程那个我也搞定了,只是有一点不懂,在label上可以显示,但是TextEdit不能显示 为什么呢?
#8
TextEdit为什么会不能显示呢?
你可以追加一个‘\n’
#9
我之前就是用的TextEdit 能显示,但是感觉他是吧所有线程里面的任务执行完成了,才打印到界面 没有动态的效果,我现在做一个ping的功能!!
#10
大哥 QString text = label->text();这一步我不是很明天他的用途,如果改成
QString text = textEdit->text();的话,没有text()这个,我是新手,请不要见怪问这么2的问题!!
QString text = textEdit->text();的话,没有text()这个,我是新手,请不要见怪问这么2的问题!!
#11
QString str2 = QString("%1 byte from %2: icmp_seq=%3 ttl=%4 rtt=%5 ms\n").arg(length).
arg(inet_ntoa(from.sin_addr)).arg(icmp->icmp_seq).arg(ip->ip_ttl).arg(rtt);
QString str5 = QString("There have %1 packets transmitted, %2 received , %3% lost\n").arg(nsend).arg(nreceived).arg((nsend-nreceived)/nsend*100);
QString str6 = QString("\n--------------------PING statistics-------------------\n");
QString str1 = QString("PING %1s(%2s): %3 bytes data in ICMP packets.\n\n\n").arg(inet_ntoa(from.sin_addr)).arg(inet_ntoa(from.sin_addr)).arg(datalen);
QString str3 = ui->OutputLabel->text();
str3.append(str1).append(str2);
ui->OutputLabel->setText(str3);
大哥 你帮我看看这个该怎么封装哦 我需要让 str1 显示,接着显示4次str2,然后再显示6,最后显示5,该怎么设置哦 ,我设置的时候 他每次都要打印前面的。
arg(inet_ntoa(from.sin_addr)).arg(icmp->icmp_seq).arg(ip->ip_ttl).arg(rtt);
QString str5 = QString("There have %1 packets transmitted, %2 received , %3% lost\n").arg(nsend).arg(nreceived).arg((nsend-nreceived)/nsend*100);
QString str6 = QString("\n--------------------PING statistics-------------------\n");
QString str1 = QString("PING %1s(%2s): %3 bytes data in ICMP packets.\n\n\n").arg(inet_ntoa(from.sin_addr)).arg(inet_ntoa(from.sin_addr)).arg(datalen);
QString str3 = ui->OutputLabel->text();
str3.append(str1).append(str2);
ui->OutputLabel->setText(str3);
大哥 你帮我看看这个该怎么封装哦 我需要让 str1 显示,接着显示4次str2,然后再显示6,最后显示5,该怎么设置哦 ,我设置的时候 他每次都要打印前面的。
#12
label->text();返回label的值
textEdit->toPlainText();好像是这个
#13
多用几个label好了。你这看的有点乱啊...
#14
如果多用几个 显示就不在一个界面了?不好看吧?
#15
这个给你说吧 我定义了QString str1,2,3,4,5,
现在是想让他显示1->2->3->4->5;和刚才的那个数字我感觉差别有点大
现在是想让他显示1->2->3->4->5;和刚才的那个数字我感觉差别有点大
#16
每次setText之前,先把原来的读出来存着,然后拼接好再setText不行吗
#1
setText();
#2
我试了的 不行,他只能显示一组数据,而且会把前面的覆盖掉~~~
#3
QString str = QString("%1%2%3%4%5\n").arg(k).arg(k).arg(k).arg(k).arg(k);//这个打包了的 其变化在线程里面实现的,这里只是显示
ui->textEdit->setText(QString(str));
ui->textEdit->setText(QString(str));
#4
for(int i=0; i<10; ++i){
QString text = label->text();
text.append(QString("%1%1%1%1%1\n").arg(i);
label->settext(text);
}
QString text = label->text();
text.append(QString("%1%1%1%1%1\n").arg(i);
label->settext(text);
}
#5
关键是要把前面的字符串取出来,然后追加
#6
有点头绪了,如果把循环放在线程里面的话,又怎么办呢?这里的setText只做显示作用!
#7
大哥 谢谢你,线程那个我也搞定了,只是有一点不懂,在label上可以显示,但是TextEdit不能显示 为什么呢?
#8
TextEdit为什么会不能显示呢?
你可以追加一个‘\n’
#9
我之前就是用的TextEdit 能显示,但是感觉他是吧所有线程里面的任务执行完成了,才打印到界面 没有动态的效果,我现在做一个ping的功能!!
#10
大哥 QString text = label->text();这一步我不是很明天他的用途,如果改成
QString text = textEdit->text();的话,没有text()这个,我是新手,请不要见怪问这么2的问题!!
QString text = textEdit->text();的话,没有text()这个,我是新手,请不要见怪问这么2的问题!!
#11
QString str2 = QString("%1 byte from %2: icmp_seq=%3 ttl=%4 rtt=%5 ms\n").arg(length).
arg(inet_ntoa(from.sin_addr)).arg(icmp->icmp_seq).arg(ip->ip_ttl).arg(rtt);
QString str5 = QString("There have %1 packets transmitted, %2 received , %3% lost\n").arg(nsend).arg(nreceived).arg((nsend-nreceived)/nsend*100);
QString str6 = QString("\n--------------------PING statistics-------------------\n");
QString str1 = QString("PING %1s(%2s): %3 bytes data in ICMP packets.\n\n\n").arg(inet_ntoa(from.sin_addr)).arg(inet_ntoa(from.sin_addr)).arg(datalen);
QString str3 = ui->OutputLabel->text();
str3.append(str1).append(str2);
ui->OutputLabel->setText(str3);
大哥 你帮我看看这个该怎么封装哦 我需要让 str1 显示,接着显示4次str2,然后再显示6,最后显示5,该怎么设置哦 ,我设置的时候 他每次都要打印前面的。
arg(inet_ntoa(from.sin_addr)).arg(icmp->icmp_seq).arg(ip->ip_ttl).arg(rtt);
QString str5 = QString("There have %1 packets transmitted, %2 received , %3% lost\n").arg(nsend).arg(nreceived).arg((nsend-nreceived)/nsend*100);
QString str6 = QString("\n--------------------PING statistics-------------------\n");
QString str1 = QString("PING %1s(%2s): %3 bytes data in ICMP packets.\n\n\n").arg(inet_ntoa(from.sin_addr)).arg(inet_ntoa(from.sin_addr)).arg(datalen);
QString str3 = ui->OutputLabel->text();
str3.append(str1).append(str2);
ui->OutputLabel->setText(str3);
大哥 你帮我看看这个该怎么封装哦 我需要让 str1 显示,接着显示4次str2,然后再显示6,最后显示5,该怎么设置哦 ,我设置的时候 他每次都要打印前面的。
#12
label->text();返回label的值
textEdit->toPlainText();好像是这个
#13
多用几个label好了。你这看的有点乱啊...
#14
如果多用几个 显示就不在一个界面了?不好看吧?
#15
这个给你说吧 我定义了QString str1,2,3,4,5,
现在是想让他显示1->2->3->4->5;和刚才的那个数字我感觉差别有点大
现在是想让他显示1->2->3->4->5;和刚才的那个数字我感觉差别有点大
#16
每次setText之前,先把原来的读出来存着,然后拼接好再setText不行吗