我想在桌面的右下角编写一个通知窗口,因此当有人上线时它会像Skype通知一样工作。有人可以帮助我获得桌面的屏幕大小,所以我可以使用我的Qt应用程序将我的通知窗口放在右下角吗?
答案 0 :(得分:66)
您可以使用QDesktopWidget
QRect rec = QApplication::desktop()->screenGeometry();
height = rec.height();
width = rec.width();
答案 1 :(得分:15)
QScreen class(自Qt 5.0起)提供有关屏幕大小(逻辑和物理),方向和变化信号的信息。
QScreen *screen = QGuiApplication::primaryScreen();
QRect screenGeometry = screen->geometry();
int height = screenGeometry.height();
int width = screenGeometry.width();
答案 2 :(得分:9)
您尚未说明您正在开发哪个平台,但某些平台具有用于显示通知的API。最好在可用时使用它们,因为如果屏幕可能不合适,则右下角。你可以回到krammer的answer。
例如,在GNOME中,用户可以在特定屏幕上显示通知,或选择不显示通知,直到他们单击系统托盘图标。 libnotify
API使开发人员可以访问此功能。
说到系统托盘,您可能需要考虑使用QSystemTrayIcon
。它会使UI略有不同,但有一个独立于平台的Qt API,适用于GNOME,KDE,MacOS,Windows和其他平台。它还有一个showMessage
方法,用于以平台本机的方式显示消息,例如在某些版本的Windows中带有可爱的弹出声音的气球中。