Перейти к основному контенту

1.6. Типы кнопок

image.png

В предыдущей статье мы разбирали как создать кнопку типа .pushbutton, но на этом функционал Revit и pyRevit не заканчивается.

Давайте посмотрим, что они еще могут.

1.6.1. Выпадающий список и стак (.pulldown и .stack)

Стак выглядит так:

image.png

Выпадающий список выглядит так:

image.png

Для этого в папке “МояВкладка.tab” создадим папку "МояПанель2.panel"

image.png

В нее поместим папку с именем "Стак1.stack"

image.png

А в нее поместим “Стаковая кнопка 1.pulldown

image.png

Внутри папки .pulldown расположим 3 папки с расширением .pushbutton (в .pushbutton закидываем script.py и icon.png )

image.png

После чего скопируем .pulldown 2 раза поменяв названия.

image.png

Должна получится такая структура:

- МояВкладка.tab

- МояПанель2.panel

- Стак1.stack

- Стаковая кнопка 1.pulldown

- Стаковая кнопка 2.pulldown

- Стаковая кнопка 3.pulldown

- Кнопка1.pushbutton

- script.py

- icon.png

- Кнопка2.pushbutton

- Кнопка3.pushbutton

- icon.png

Перезапускаем панель нажав “Обновить” и вауля:

image.png

Попробую еще раз но другими слова для закрепления.

 


Сначала мы создали .stack сказав паю что надо расплагать все что будет внутри друг под другом - типа таблицей. Максимальная высота стака - 3.

 

А "таблица" состоин из выпадающих списков, и что бы пай понял, что это "выпадающий" мы задаем в имени папки на конце .pulldown

В основном я пользуюсь только 3 типа кнопок:

  • stack
  • puldown
  • pushbutton

и просто по разному комбинирую их.


1.6.2. А какие еще могут быть кнопки?

Вообще, вы могли заметить, что по сути тип кнопки не поменялся, как был pushbutton так и остался. Поменялась структура, в которой расположена кнопка. Но в пай действительно можно создать другой тип кнопки. Описывать подробно в рамках статей я не буду, но дам затравку:

  • .smartbutton

  • .nobutton

  • .splitpushbutton

  • .splitbutton

  • .urlbutton

подробнее тут