Главная » Хабрахабр » Создаем TUI на python

Создаем TUI на python

#!/usr/bin/env python3
from src import npyscreen
import random class App(npyscreen.StandardApp): def onStart(self): # Устанавливаем тему. По умолчанию используется DefaultTheme npyscreen.setTheme(npyscreen.Themes.ColorfulTheme) self.addForm("MAIN", MainForm, name="Hello Habr!") class InputBox(npyscreen.BoxTitle): # MultiLineEdit теперь будет окружен боксом _contained_widget = npyscreen.MultiLineEdit class MainForm(npyscreen.FormBaseNew): def create(self): y, x = self.useable_space() obj = self.add(npyscreen.BoxTitle, name="BoxTitle", custom_highlighting=True, values=["first line", "second line"], rely=y // 4, max_width=x // 2 - 5, max_height=y // 2) self.add(InputBox, name="Boxed MultiLineEdit", footer="footer", relx=x // 2, rely=2) color1 = self.theme_manager.findPair(self, 'GOOD') color2 = self.theme_manager.findPair(self, 'WARNING') color3 = self.theme_manager.findPair(self, 'NO_EDIT') color_list = [color1, color2, color3] first_line_colors = [random.choice(color_list) for i in range(len("first line"))] second_line_colors = [random.choice(color_list) for i in range(len("second"))] # Заполняем строки кастомными цветами obj.entry_widget.highlighting_arr_color_data = [first_line_colors, second_line_colors] MyApp = App()
MyApp.run()

x

Ещё Hi-Tech Интересное!

[Перевод] 11 JavaScript-библиотек для визуализации данных, о которых стоит знать в 2018 году

Мы живём во времена взрывного роста объёмов данных, генерируемых и потребляемых человечеством. Практически в каждом из разрабатываемых сегодня приложений данные либо используются где-то внутри них, либо визуализируются. Программисты, используя данные, стремятся сделать работу с их программами максимально комфортной. Однако если ...

Дела подводные — для роботов

Intro Поверхность планеты примерно на 71% покрыта океанами (порядка 361 млн. км²). Площадь РФ примерно 17 млн. км. Глубина океанов неравномерна, выделяют следующие зоны: Шельф (shelf — полка) — глубина до 200—500 м;Континентальный склон — глубина до 3500 м;Океанское ложе ...