QDesktopWidget * screen = QApplication::desktop();
QRect size = screen->availableGeometry(this);
根据平台决定的可用内容(例如,排除Mac OS X上的Dock和菜单栏或Windows上的任务栏),可以使用screenGeometry()。
我想知道的是如何在Linux上获得可用的屏幕几何图形(没有面板)?我在Linux上尝试了上面的代码,但它返回了物理屏幕大小。
答案 0 :(得分:0)
This question意味着调用QApplication::desktop()->size()
将为您提供Linux上没有面板的桌面大小。
// called from inside the MainWindow constructor
QDesktopWidget* dt(QApplication::desktop());
this->resize(dt->size());
此代码正确调整主窗口的大小,以填充Ubuntu 10.04上Qt 4.8的顶部和底部栏之间的空间。我看不出Qt3和Qt 4.8之间的文档有什么不同,这表明这些函数的行为已经发生了变化。
答案 1 :(得分:0)
对于大多数情况availableGeometry()
有效。我正在使用虚拟屏幕。有时它无法正常工作。