QT showstatus tip отображается только после того, как мышь покинет окно и вернется - PullRequest
0 голосов
/ 07 марта 2012

У меня есть главное окно, и я пытаюсь показать в сообщении 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");

в конструкторе, сразу отображается статусная подсказка.

Что может быть не так?

РЕДАКТИРОВАТЬ: Это выглядитнапример, если я выполняю setStatusTip в слоте, тогда он не работает должным образом, однако, если setStatusTip находится в обычном методе, он работает как положено.

1 Ответ

1 голос
/ 07 марта 2012

Используйте функцию showMessage вместо setStatusTip.Таким образом, вы можете контролировать, как долго будет отображаться сообщение:

Если тайм-аут равен 0 (по умолчанию), сообщение будет отображаться до тех пор, пока не будет вызван слот clearMessage () или до слота showMessage ()позвонил еще раз, чтобы изменить сообщение.

if (statusBar())
    statusBar()->showMessage("Can't open file, check if the file name is correct");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...