2017-06-04 17 views
0

私は特定の問題に合ったものは見つけられませんが、似たような質問をしてくれた人がいくつかいることを理解しています。変更されたTkinter画面の変更 - 簡単な修正方法?

私の問題は、私のTkinterディスプレイが完全に変化する結果を使用するすべてのディスプレイであり、試行錯誤を繰り返してサイズを変更してサイズを変更する必要があります。これの周りに簡単な方法はありますか?私はスクリプトの場所とピクセルサイズを使用していますので、毎回解像度が変わってから最初からやり直さなければならないと思います。

とにかく、私はRpiのタッチスクリーンに解像度を設定し、そのGUIを構築したと思った。しかし、今はタッチスクリーンを購入しましたが、GUIはそれに近似していません。

私は誰もがそれを共有することができたら、私は感謝するだろう後に何を達成するための簡単な方法がある場合は、サイズを変更し、すべてを再配置することに熱心ではありません。もしそうでなければ、私はそれを乗り越えなければならない。

乾杯 クリス

答えて

0

あなたはおそらく、あなたのスクリーンの幅と高さの側面を利用し、代わりに静的/固定のすべてを作るのものにあなたのプログラムの相対を作りたいです。

ウィジェットでwinfo_width()またはwinfo_height()を呼び出してサイズを取得することで、これを行うことができます。これを行った後、画面の幅が400ピクセルの場合は200ピクセルの楕円形にするのではなく、幅/ 2の相対座標にすることができます(winfo_width()を変数として宣言した場合)。

+0

病気があります。速い応答のためにありがとう – chrisn89

1

問題はplaceを使用していることです。このような理由から、placeは避けるべきです。 gridpackを正しく使用することを学び、pack_propagate(0)またはgrid_propagate(0)を呼び出さない場合は、問題の唯一の解決策であると確信していない限り、tkinterはさまざまな画面解像度、フォントサイズ、およびユーザー設定に適応する素晴らしい仕事をします。

言い換えれば、「私が後にしたことを達成するための簡単な方法」は「gridpackを使用し、placeを避けてください」という答えです。

+0

それは物事の外見に関係なく始まるのケースです。 – chrisn89

+0

@ chrisn89:あなたの実際のコードを見ずに言うのは難しいですが、一般的に言えば、UIが解像度の変更に適切に反応し、現在は 'place'を使用したい場合は、ウィジェットを画面に配置するコード。他のコードは変更する必要はありません。 –

関連する問題