Это действительно сбрасывает текстовое поле, но по какой-то причине текстовое поле не получает никаких новых данных, пока я не щелкну где-нибудь в фоновом режиме и не щелкну еще раз по текстовому полю, и только тогда он отобразит полученный текст.
Код:
Код: Выделить всё
import pygame_gui, pygame
pygame.init()
screen = pygame.display.set_mode((500,500))
clock = pygame.time.Clock()
manager = pygame_gui.UIManager((500,500))
manager.set_window_resolution((500,500))
text_box = pygame_gui.elements.UITextEntryLine(relative_rect=pygame.Rect(200,200,100,50), manager=manager, object_id='#text')
run=True
while run:
UI_refresh = clock.tick(30)/1000
for event in pygame.event.get():
if event.type==pygame.QUIT: run=False
elif event.type==pygame_gui.UI_TEXT_ENTRY_FINISHED and event.ui_object_id == '#text':
print(text_box.text)
text_box.set_text('') #here the text of the texbox is reset.
manager.process_events(event)
manager.update(UI_refresh)
screen.fill('white')
manager.draw_ui(screen)
pygame.display.update()
Плюс я должен упомянуть об этом при установке text, изменения отображаются чуть меньше секунды, а затем исчезают, пока я не щелкну где-нибудь на экране, а затем снова на текстовом поле, чтобы отобразить изменения.
Подробнее здесь: https://stackoverflow.com/questions/791 ... -gui-libra
Мобильная версия