С помощью Python-textual (пакета) как мне линейно переключаться между разными «экранами»?Python

Программы на Python
Ответить
Anonymous
 С помощью Python-textual (пакета) как мне линейно переключаться между разными «экранами»?

Сообщение Anonymous »

С помощью textual я хотел бы создать простую программу, которая предоставляет мне различные параметры, которые я могу выбрать с помощью OptionList, но один за другим, например
Первый «экран»:

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

what do you want to buy (Car/Bike)?
+---------+
|   Car   |
| > Bike  |
+---------+
велосипед

И после того, как я нажал/щелкнул «Велосипед», я хотел бы увидеть второй «экран» (с потенциально другими виджетами):

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

electric (yes/no)?
+---------+
|   Yes   |
| > No    |
+---------+
Нет

Следующий код показывает первый список параметров, но я понятия не имею, как действовать:

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

from textual.app import App, ComposeResult
from textual.widgets import Footer, Header, OptionList, Static
from textual import events, on

class SelectType(Static):
def compose(self) -> ComposeResult:
yield OptionList(
"Car",
"Bike",
)

@on(OptionList.OptionSelected)
def selected(self, *args):
return None # What to do here?

class MainProgram(App[None]):
def compose(self) -> ComposeResult:
yield Header()
yield Footer()
yield SelectType()

MainProgram().run()
Что теперь делать? Я просмотрел учебник, руководства, примеры, но похоже, что все они показывают мне, как создать один набор виджетов, но я не нашел способа сделать переход между одним экраном ввода и другим..


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

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

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

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

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

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