Chcę kodować okno powiadomień w prawym dolnym rogu pulpitu, dzięki czemu działa jak powiadomienia Skype, gdy ktoś przychodzi online. Czy ktoś może mi pomóc uzyskać rozmiar ekranu na pulpicie, więc mogę umieścić moje okno powiadomień w prawym dolnym rogu przy użyciu mojej aplikacji Qt?Jak mogę znaleźć rozmiar ekranu/pulpitu w Qt, więc mogę wyświetlić powiadomienie na pulpicie?
Odpowiedz
Można użyć QDesktopWidget
QRect rec = QApplication::desktop()->screenGeometry();
height = rec.height();
width = rec.width();
Nie podano jakiej platformie masz rozwija, ale niektóre platformy mają API do wyświetlania powiadomień. Najlepiej używać tych, gdy są dostępne, ponieważ w prawym dolnym rogu, jeśli ekran może nie być odpowiedni. Możesz powrócić na krammer's answer.
w GNOME, na przykład, użytkownik może dokonać powiadomienia pojawiają się na danym ekranie, lub zdecydować się nie pokazać ich w ogóle, dopóki nie kliknąć na ikonę w zasobniku systemowym. Interfejs API libnotify
daje programiście dostęp do tej funkcji.
Mówiąc o tacach systemowych, warto rozważyć użycie zamiast tego QSystemTrayIcon
. To sprawi, że interfejs użytkownika będzie trochę inny, ale ma niezależny od platformy interfejs API Qt, który działa dla GNOME, KDE, MacOS, Windows i prawdopodobnie innych platform. Posiada również showMessage
metodę wyświetlania wiadomości w macierzystym sposób dla platformy, takie jak w balonie z cute słychać trzaski w niektórych wersjach systemu Windows.
Windows i Mac –
@SanathReddy: Nie próbowałem, ale może to będzie robić to, co chcesz: https://github.com/KDE/snorenotify –
QScreen klasy (od Qt 5,0) zawierają informacje o rozmiarze ekranu (logiczne i fizyczne) orientacja oraz sygnały dla zmian.
QScreen *screen = QGuiApplication::primaryScreen();
QRect screenGeometry = screen->geometry();
int height = screenGeometry.height();
int width = screenGeometry.width();
Czy takie podejście również sugerowana dla warunkowego załadunku 'stron QML' (na przykład różne strony 'QML' dla różnych rozdzielczości ekranu/orientacji) zarówno w systemie Android, jak i Linux (Desktop/Embedded)? – KernelPanic
- 1. Jak mogę znaleźć rozmiar RDD
- 2. Jak mogę wyświetlić NSError?
- 3. Jak mogę uruchomić xmonad na zdalnym pulpicie Nachachine?
- 4. Jak mogę pobrać kolor piksela na moim pulpicie? (Linux)
- 5. Jak mogę wysłać powiadomienie od użytkownika do użytkownika na onesignal?
- 6. Powiadomienia na pulpicie Chrome - większy rozmiar
- 7. Jak mogę kontrolować liczbę klatek na sekundę w Qt 3D?
- 8. Jak mogę wyświetlić kolejkowane zadania w RabbitMQ?
- 9. pomijam niekompatybilny .../nie mogę znaleźć
- 10. Jak mogę zmienić rozmiar imageButton?
- 11. Jak mogę uczynić DateTimePicker wyświetlić pusty ciąg?
- 12. Jak mogę zmienić rozmiar QMessageBox?
- 13. Jak mogę przyciąć obraz w Qt?
- 14. Jak wyświetlić powiadomienie z usługi w tle?
- 15. Powiadomienie na pulpicie Webkit - nie ma metody "createHTMLNotification"
- 16. Jak mogę wyświetlić folder .git w Netbeans
- 17. Jak wyświetlić powiadomienie Flash Rails po przekierowaniu?
- 18. jak mogę wyświetlić sumę w kolumnie datagridview?
- 19. Jak mogę wyświetlić pliki cookie w kodzie?
- 20. Gdzie mogę znaleźć binarycreator w Qt SDK do tworzenia Qt Installer
- 21. Jak znaleźć wersję Qt?
- 22. Jak mogę wyświetlić widok jako HTML?
- 23. Gdzie mogę znaleźć dobrą dokumentację na OpenXML
- 24. Gdzie mogę znaleźć Microsoft.Build.Utilities.v3.5
- 25. Qt: Ustaw rozmiar QMainWindow
- 26. Jak mogę wyświetlić agendę trybu Org na uruchamianiu Emacsa?
- 27. Jak mogę wyświetlić symbole fonetyczne (IPA) na Androidzie
- 28. Jak mogę wyświetlić moją usługę systemu Windows na pasku zadań?
- 29. Jak mogę wyświetlić wszystkie właściwości obiektu Math?
- 30. Jak mogę znaleźć liczbę elementów w tablicy?
Bądź ostrożny, to prawdopodobnie lepiej użyć geometrii _available_: http://doc.qt.io/qt-5/qdesktopwidget.html#availableGeometry –
myślę, że może być zainteresowany w QDesktopWidget :: rozmiarze() Metoda zamiast: dla mnie, która zwróci rozmiar dwóch monitorów ułożonych razem, ponieważ są skonfigurowane w ustawieniach wyświetlania. Wywołanie "screenGeometry" daje tylko wymiary jednego monitora. –