我有一个主窗口,当用户尝试打开不存在的文件时,我试图在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是普通方法,那么它按预期工作。
答案 0 :(得分:1)
使用showMessage
功能代替setStatusTip
。这样您就可以控制消息的显示时间:
如果超时为0(默认值),则消息将一直显示,直到 调用clearMessage()槽或直到showMessage()槽为止 再次打电话来改变信息。
if (statusBar())
statusBar()->showMessage("Can't open file, check if the file name is correct");