是否有一种简单的方法可以在整个应用程序的Qt中禁用屏幕旋转?我只是不想担心,只是禁用它。
我正在使用Qt 5.8并定位Windows。
答案 0 :(得分:0)
最好的方法是在Windows中禁用旋转。 我看到的唯一另一种方法是显示根据当前设备方向旋转的小部件/ qml。 以下是在Windows下获取当前方向的代码(在Windows 8.1平板电脑上测试):
#include <Windows.h>
enum class EOrientation
{
Rotate_0,
Rotate_90,
Rotate_180,
Rotate_270
};
EOrientation CYourViewManager::getOrientation() const
{
DEVMODE deviceMode;
if (!EnumDisplaySettings(NULL, 0, &deviceMode))
return EOrientation::Rotate_0;
switch (deviceMode.dmDisplayOrientation)
{
case DMDO_90:
return EOrientation::Rotate_90;
case DMDO_180:
return EOrientation::Rotate_180;
case DMDO_270:
return EOrientation::Rotate_270;
}
return EOrientation::Rotate_0;
}
答案 1 :(得分:0)
这是没有意义的,因为从您的角度来看屏幕旋转与屏幕分辨率更改相同,如果您关闭 ,您的用户将会正确地讨厌您。
如果您希望测试代码与屏幕旋转的兼容性,请通过更改屏幕分辨率来模拟它。