其他分享
首页 > 其他分享> > qt设置文本内容立即生效方式

qt设置文本内容立即生效方式

作者:互联网

void MainWindow::on_pushButton_clicked()
{
    ui->pushButton->setText("正在运行...");
    ui->pushButton->setEnabled(false);
    ui->pushButton->repaint();  

// 这句加上,上面的设置就能立即生效了,这是因为,qt正在执行这里面,没有机会去刷新界面绘图,所以该函数退出后,qt才会去自动属性界面绘图,所以这里调用repaint()函数强制qt主动去刷新一下该控件,以后遇到其它控件也是同样解决 

    ui->pushButton->setText("复位");
}

 

其它知识点:

  1. c++中类型之间不能自动强制转换,会报错,这是因为c++有重载函数,所以类型一定得一一对应,而c语言就能自动类型转换,编译不报错
  2. qt中调用printf函数,不会有输出,需要先设置一下输出缓存为0,
    setbuf(stdout, NULL);
    这样就会立即输出了
  3. qt调试输出打印到控制台,需要在.pro文件添加一行
    win32:CONFIG += console而且还得勾选上如下:项目页面,运行选项,Run in terminal把这个勾上
    

标签:输出,qt,控件,pushButton,ui,生效,文本,函数
来源: https://blog.51cto.com/u_13682052/2979552