The problem with this code is that when navigating the interface, the boxes come to the foreground and cover the widgets. Is it possible to put widgets in boxes?
class MainForm(npyscreen.ActionFormV2):
def create(self):
# Виджет для ввода времени
self.time_widget_box = self.add(npyscreen.BoxTitle, relx=0, rely=0, max_width=76, max_height=4)
self.time_widget_box.name = "Время прогноза"
text_widget_time = self.add(npyscreen.Textfield, value="Выберите час:", max_width=35, relx=2, rely=2, editable=False)
self.time_widget_box.entry_widget = text_widget_time
self.time_widget = self.add(npyscreen.Textfield, value="00", max_width=35, relx=38, rely=2, editable=True)
self.selected_time_field = self.time_widget
self.selected_time_field.add_handlers({curses.KEY_LEFT: self.move_hour_left, curses.KEY_RIGHT: self.move_hour_right})
# Виджет "Запросы"
self.remaining_requests_box = self.add(npyscreen.BoxTitle, relx=76, rely=0, max_width=41, max_height=4)
self.remaining_requests_box.name = "Запросы"
text_widget = self.add(npyscreen.Textfield, value="Количество оставшихся запросов: ", rely=2, relx=78, editable=False)
self.remaining_requests_box.entry_widget = text_widget
# Виджет для ввода дня
self.day_widget = self.add(npyscreen.BoxBasic,rely=4,relx=0,max_width=35,max_height=8)
self.day_widget = self.add(npyscreen.TitleSelectOne,max_height=2, max_width=30, value=[0], name="День:", values=["Сегодня", "Завтра"],rely=6,relx=2,scroll_exit=True)
# Виджет для ввода города
self.city_widget_box = self.add(npyscreen.BoxTitle, name="Город:", rely=4, relx=36, max_width=80, max_height=4)
self.city_widget = self.add(npyscreen.Textfield, rely=6, relx=38, max_width=40, max_height=4)
self.city_widget.add_handlers({curses.ascii.NL: self.on_enter_button_pressed_city_widget})
self.city_widget_box.entry_widget = self.city_widget
# Виджет для отображения данных о погоде
self.weather_widget_box = self.add(npyscreen.BoxBasic, rely=8, relx=36, max_width=80, max_height=20)
self.weather_widget = self.add(npyscreen.MultiLineEdit, value="", rely=9,relx=37,max_width=76,max_height=16)
# Инициализация переменных для отображения статуса запроса, ошибки и данных о погоде
self.request_count = 0
self.status_widget_box = self.add(npyscreen.BoxBasic, name="Статус запроса:", rely=12,relx=0,max_width=35,max_height=8)
self.status_widget = self.add(npyscreen.MultiLineEdit, value="", rely=13,relx=1,max_width=33,max_height=6)
self.error_widget_box = self.add(npyscreen.BoxBasic, value="", name="Ошибка:", rely=20,relx=0,max_width=35,max_height=8)
self.error_widget = self.add(npyscreen.MultiLineEdit, value="", rely=21, relx=1, max_width=33,max_height=6)
I tried to use "entry_widget", but this didn't solve the problem.