画面のスケーリングが間違っていると確信していますが、私のアプローチは次のとおりです。
ユーザーに表示される行数に応じて、高さが変わる可能性のある情報を表示するポップアップがあります。1行あたりの高さをピクセル単位で大まかに知っているので(フォントサイズを知っているため)、表示されているメッセージの のi
数を増やしました。\n
次に、これを で割ってWindow.height
、情報を適切に表示するために必要な画面の割合を求めました。
次の式から得られた値をハードコーディングすると、この情報が適切に表示されることがわかります。
TwoDecPoints = Decimal(10) ** -2
popupScale = (Decimal(i) / Decimal(Window.height)).quantize(TwoDecPoints)
しかし、popupScale
(nn.nn) を;に適用するpopup
と、size_hint
InformationScreen.ResultsPopup.size_hint = 0.95, popupScale
このエラーが表示されます。
Popup.size_hint_y have an invalid format (got Decimal('0.25'))
私は2桁の10進数を持っているので、これは私にはわかりません0.95
。文字列として使用しようとしました。
InformationScreen.ResultsPopup.size_hint = 0.95, str(popupScale)
popupScale
なしでオリジナルを使用するだけでなくquantize
、番号をトリミングします。
popupScale = (Decimal(i) / Decimal(Window.height))
InformationScreen.ResultsPopup.size_hint = 0.95, str(popupScale)[:4]
どちらも機能しません。
size_hint に関するドキュメントを調べましたが、必要なデータ型に関連する情報が見つかりませんでしたsize_hint
。どんな助けでも大歓迎です。ありがとう