只有在鼠标离开窗口并返回后才会显示QT showstatus提示

时间:2012-03-07 12:38:22

标签: c++ qt

我有一个主窗口,当用户尝试打开不存在的文件时,我试图在statusarea消息中显示。

void MainWindow::onOpenClicked(){
    if(QFile(ui->lineEditCapture->text()).exists()){
        // allow opening for analyze
    }else{
        setStatusTip("Can't open file, check if the file name is correct");
    }
}

问题是只有在鼠标指针离开窗口并返回后才会显示状态提示。

当我这样做时

setStatusTip("Can't open file, check if the file name is correct");

在构造函数中,然后立即显示statustip。

可能出现什么问题?

编辑: 看起来如果我在插槽中执行setStatusTip然后它不能正常工作,但是如果setStatusTip是普通方法,那么它按预期工作。

1 个答案:

答案 0 :(得分:1)

使用showMessage功能代替setStatusTip。这样您就可以控制消息的显示时间:

  

如果超时为0(默认值),则消息将一直显示,直到   调用clearMessage()槽或直到showMessage()槽为止   再次打电话来改变信息。

if (statusBar())
    statusBar()->showMessage("Can't open file, check if the file name is correct");