在Qt 3中Linux上的可用屏幕大小

时间:2012-04-05 06:03:31

标签: c++ qt user-interface qt3

QDesktopWidget * screen = QApplication::desktop();
QRect size = screen->availableGeometry(this);

documentation说,

  

根据平台决定的可用内容(例如,排除Mac OS X上的Dock和菜单栏或Windows上的任务栏),可以使用screenGeometry()。

我想知道的是如何在Linux上获得可用的屏幕几何图形(没有面板)?我在Linux上尝试了上面的代码,但它返回了物理屏幕大小。

2 个答案:

答案 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()有效。我正在使用虚拟屏幕。有时它无法正常工作。