qt label 刷新问题

u010627012 2013-05-09 09:34:20
在嵌入式qt的类中我新建了一个label,取名字为“start”,然后在这个类中我把这个名字清空labelrecord->setText("");奇怪的是实现不成功,于是我有试着把这个label从新命名,labelrecord->setText("asfdjkljlka");成功了,但是下面还有"start",我如何去掉之前的"start"呢 ?是不是要加上刷新语句呢?想想也不对,从新命名其实已经刷新了啊?
...全文
1450 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
画茧自缚 2015-09-30
  • 打赏
  • 举报
回复 1
引用 楼主 u010627012 的回复:
在嵌入式qt的类中我新建了一个label,取名字为“start”,然后在这个类中我把这个名字清空labelrecord->setText("");奇怪的是实现不成功,于是我有试着把这个label从新命名,labelrecord->setText("asfdjkljlka");成功了,但是下面还有"start",我如何去掉之前的"start"呢 ?是不是要加上刷新语句呢?想想也不对,从新命名其实已经刷新了啊?
ui->label->clear();
黑头人 2015-09-29
  • 打赏
  • 举报
回复
怎么解决的 ??
水军总督 2013-05-09
  • 打赏
  • 举报
回复
变量labelrecord在定义时有没有设置其为指针???和你构造函数里初始化label显示可能也有关系~~ 顺便说一下我平时写东西和你不太一样的地方,slots一般我设置为private,而且直接写void start_record();不会在其前面加一个static
u010627012 2013-05-09
  • 打赏
  • 举报
回复
public slots: static void start_record(); static void stop_record(); 构造函数中: labelrecord=new QLabel(tr(""),this);//labelrecord 全局变量 connect(but,SIGNAL(clicked()),this,SLOT(start_record()));//but自己定义的全局变量button connect(but1,SIGNAL(clicked()),this,SLOT(stop_record()));//but1 通but void DigitalClock::start_record() { labelrecord->setText("record"); } void DigitalClock::stop_record() { labelrecord->setText("");//调用这边的时候labelrecord上面还是record labelrecord->setText("asd"); //这边2个字体都有的asd+reacord 叠加显示 } 为什么会这样呢?我用界面做很好 ,不会出现这个问题。
  • 打赏
  • 举报
回复
槽不要声明为静态函数
轻舞 2013-05-09
  • 打赏
  • 举报
回复
最好能把那部分代码都贴出来,你这样描述总有些不清楚的地方

16,212

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧