Tray qt - funkcja setMessage



  • Chcę zrobić, żeby funkcja
    void QSystemTrayIcon::showMessage ( const QString & title, const QString & message, MessageIcon icon = Information, int millisecondsTimeoutHint = 10000 )
    była widoczna przez cały czas pracy aplikacji a nie znikała po jakims czasie millisecondsTimeoutHint = 10000. Zazwyczaj znika jak tylko się myszką rusza. Pewnie trzeba ustawić jakoś flagę. Zmiana parametru millisecondsTimeoutHint nic nie daje. Piszę aplikację pod windowsa. Miał ktoś taki problem i wie jak go rozwiazac??



  • Wszystko zależy od systemu operacyjnego lub/i od aplikacji system tray jaka jest włączona. Użytkownik może na przykład wyłączyć całkowicie tego typu powiadomienia. Nie spotkałem się z żadną flagą w Qt która by mogła nadpisać ustawienia systemowe użytkownika. W moim przypadku zmiana parametru millisecondsTimeoutHint dawała efekty i działała jak należy (winXp, Qt 4.6.x lub 4.7.x).
    Piszę to dlatego, żebyś może zastanowił się nad innym sposobem komunikacji z użytkownikiem. Skoro ma być widoczny przez cały czas działania aplikacji, to dlaczego nie zrobić jakiegoś widgetu, który będzie siedział koło traya? Możesz posłużyć się np "QDesktopWidget":http://qt-project.org/doc/qt-4.8/qdesktopwidget.html, żeby znaleźć niezbędne dane do umieszczenia takiego powiadamiającego widgetu w odpowiednim miejscu nawet przy kilku monitorach.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.