2017-05-09 21 views
0

Qtでアプリ全体の画面回転を無効にする簡単な方法はありますか?私はそれについて心配してそれを単に無効にしたくありません。Qtで画面回転を無効にする

私はQt 5.8とターゲティングWindowsを使用しています。

+2

申し訳ありませんが、Windowsアプリで画面の回転はどのように問題になりますか?画面の回転がどのデスクトッププラットフォームで問題になるかはわかりません。 – Danyright

+0

@Danyrightデスクトップの画面の向きが変わらないためではなく、画面の回転が解像度の変更のようにアプリケーションに表示されるため、問題ではありません。言い換えれば、ほとんど重要ではありません。 –

+0

私はそれがタブレットアプリケーションであることを忘れていました。 – naide

答えて

0

Windowsで回転を無効にすることをお勧めします。 私が見る他の唯一の方法は、現在のデバイスの向きに合わせて回転したウィジェット/ qmlを表示することです。ここ は、(Windowsの8.1タブレット上でテスト)Windowsで現在の向きを取得するためのコードです:

#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; 
} 
0

あなたの視点から、画面の回転は、画面解像度の変更と同じであるので、それは無意味だ、とあなたはそれをオンにした場合をオフにすると、ユーザーは正しくあなたを嫌うでしょう。

画面回転との互換性をコードでテストする場合は、画面解像度を変更してコードをエミュレートします。

関連する問題