1

画面のスケーリングが間違っていると確信していますが、私のアプローチは次のとおりです。

ユーザーに表示される行数に応じて、高さが変わる可能性のある情報を表示するポップアップがあります。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。どんな助けでも大歓迎です。ありがとう

4

1 に答える 1

3

size_hintとのタプルであるReferenceListPropertyです。 (resp ) は、float または int を取るNumericPropertyです。だからやるべき。size_hint_xsize_hint_ysize_hint_xsize_hint_yfloat(popupScale)

編集:それが役に立たなかった場合、正確な例外がこの行で発生します

于 2016-03-30T11:54:22.713 に答える