Как центрировать эту MDLabel на экране?Python

Программы на Python
Ответить
Anonymous
 Как центрировать эту MDLabel на экране?

Сообщение Anonymous »

Я пытался написать код для этого всплывающего текста, пока я использую Duolingo (см. прикрепленное изображение).
Мой код приближается к этому, но я застрял в добавлении толстого контура вокруг текста. Важно, чтобы у нас был контур вокруг изображения, иначе тексту будет трудно выделиться, учитывая, что экран может быть усеян другими виджетами разных цветов.
Любая помощь будет высоко оценена. Спасибо.

Код: Выделить всё

KV = """
MDFloatLayout:
md_bg_color: 0, 0, 0, 1

MDFlatButton:
text: "Show Combo"
pos_hint: {"x": 0.6, "y": .05}
on_release: app.show_text()
md_bg_color: 1, 1, 1, 1

"""

class TestApp(MDApp):
def build(self):
return Builder.load_string(KV)

def show_text(self):

from random import randint

rand_num = randint(5, 100)
total_correct_presses = rand_num - (rand_num % 5)

if not total_correct_presses % 5:

label = MDLabel(
text = f"[i]{total_correct_presses} in a row!",
markup = "True",
halign = "center",
valign = "middle",
theme_text_color = "Custom",
text_color = (1, 0.5, 0, 1),
font_style = "H4",
size_hint = (None, None),
size = (0, 0),
pos_hint = {"center_x": .5, "center_y": .5},
)

self.root.add_widget(label)

# make label appear
appear = Animation(
size=(dp(300), dp(80)),
font_size=dp(45),
# font_style="H4",
duration=0.4,
t="out_back",
)

# remove the label
disappear = Animation(
size=(0, 0),
font_size=0,
duration=0.4,
t="in_back",
)

disappear.bind(on_complete=lambda *_: self.root.remove_widget(label))

# chaining animations
appear.start(label)
Clock.schedule_once(lambda *_: disappear.start(label), 2)

TestApp().run()

Изображение


Подробнее здесь: https://stackoverflow.com/questions/798 ... the-screen
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»