0

全画面表示に設定されているwx.Pythonでプログラムを作成していますが、画面の解像度について未解決の質問があります。

ウィンドウのサイズを検出し、それに比例してアイテムの位置を設定する方法を知っています。そして私のプログラムは現在これを行っています。

しかし、ディスプレイの解像度に関係なく、選択した固定解像度で全画面を強制的に表示することは可能ですか?(もしそうなら、私はすべての人をカバーするために1つのワイドスクリーンと1つのフルスクリーンレイアウトを作成することができました。)

これに対する解決策を探しましたが、リードが見つかりません!おそらく、wx.Pythonでは不可能です。しかし、そうでない場合、誰かが私を正しい方向に向けることができますか?

お時間をいただきありがとうございます!

4

2 に答える 2

1

あなたが提案していることは不可能だと思います。モニターの解像度が1900x1600に設定されていて、アプリを800x600で実行するように設定した場合、アプリは全画面表示になりません。全画面表示にして、モニターの解像度より低くすることはできません。また、アプリを使用可能にする場合は、アプリケーションをモニターの最大解像度より大きくすることはできないと思います。

フレームのサイズを設定できますか?もちろんできます。フレームをインスタンス化するときにこれを行います。フルスクリーンにできますか?うん。フレームオブジェクトには、その目的のためだけにShowFullScreen()というメソッドがあります。スタイルフラグをいじって少し変更することもできます。http://wiki.wxpython.org/Using%20Frame.ShowFullScreenも参照してください

于 2012-04-27T20:30:23.120 に答える
0

実際には、特定のビデオ モード/解像度を強制することができます。お使いのディスプレイ/ドライバによっては、結果 (LCD 画面上) がディスプレイいっぱいに拡大されるか、画面のサブ長方形 (レターボックスなど) に表示される場合があります。ただし、ビデオのキャプチャや特定のデバイスへの出力など、特定の出力解像度が必要でない限り、実際にはそれが必要なわけではありません。これを行う wxPython コードは次のようになります。

display = wx.Display(0)  # if you have multiple monitors, use its index
desired_mode = wx.VideoMode(width, height, color_depth)
supported_modes = display.GetModels(desired_mode)
if len(supported_modes) > 0:
    display.ChangeMode(supported_modes[0]) # just use the first match for now
于 2012-05-18T22:16:24.357 に答える