2015-11-17 2 views
2

Я использую Bokeh для своих участков, и теперь вам нужно добавить меню на мои сюжеты, чтобы отображать разные выходы. Меню было создано с использованием в качестве примера на Bokeh pageРасстояние и выравнивание виджета Bokeh с помощью VBox

from bokeh.models.widgets import Dropdown 
from bokeh.io import output_file, show, vform 
menu = [("Item 1", "item_1"), ("Item 2", "item_2"), None, ("Item 3","item_3")] 
dropdown = Dropdown(label="Dropdown button", type="warning", menu=menu) 
dropdown2 = Dropdown(label="Dropdown button2", type="warning", menu=menu) 

Тогда я положил это меню в HBox:

menu_bar = HBox(children = [dropdown, dropdown2]) 

При таком подходе, расположение результирующей страницы можно найти here. Манибары слишком близки друг к другу. У меня есть два вопроса:

  • 1) Как я могу убедиться, что между меню есть какое-то пространство?
  • 2) Как изменить выравнивание объектов? Например, возможно ли иметь виджеты, выровненные в правой части окна, а не с левой стороны?

Большое спасибо заранее.

+0

Вы можете поместить каждый 'Dropdown' в HBox уже и указать' width' и 'height' каждого HBox. Затем вы можете передать HBoxes в качестве дочерних элементов для menu_bar. Я не тестировал, но это должно работать – jojo

ответ

1

переопределение CSS-я бы сказал, что ответ на свой вопрос 1) Я добавил margin-right: 40px;

.bk-bs-btn-group, .bk-bs-btn-group-vertical { 
    display: inline-block; 
    margin-right: 40px; 
    position: relative; 
    vertical-align: middle; 
} 
+0

благодарю вас за этот ответ. Я буду использовать это, если нет питонического способа сделать это :) – mrz

+0

Я вижу, что нет возможности, сначала я думал, что параметры ширины и высоты будут выполняться, но это действительно проблема с маржой, и я не вижу способа пройти это в коде python. – euri10

+1

Как вы переопределяете css на виджеты bokeh? – volodymyr

1

Вы можете поместить каждый Dropdown в VBox уже и указать width и height. Например:

from bokeh.models.widgets import Dropdown, VBox 

menu = [("Item 1", "item_1"), ("Item 2", "item_2"), None, ("Item 3","item_3")] 
dropdown = Dropdown(label="Dropdown button", type="warning", menu=menu) 
dropdown2 = Dropdown(label="Dropdown button2", type="warning", menu=menu) 

# put them into boxes and specify their width/height 
dropdown_box = VBox(dorpdown, width=100, height=50) 
dropdown2_box = VBox(dorpdown2, width=100, height=50) 

menu_bar = HBox(children = [dropdown_box, dropdown2_box]) 
+0

Обратите внимание, что VBox и HBox устарели – PJW

 Смежные вопросы

  • Нет связанных вопросов^_^