Как расположить кнопки в вертикальном блоке?Python

Программы на Python
Ответить
Anonymous
 Как расположить кнопки в вертикальном блоке?

Сообщение Anonymous »

У меня есть пример приложения, написанного на Python с использованием платформы пользовательского интерфейса Kivy. Есть виджет «Аккордеон», и каждый элемент в «Аккордеоне» должен отображать запись с несколькими полями TextInput, а на левой стороне хотелось бы пару кнопок — одну для редактирования и одну чтобы удалить запись.
Я создал виджет AccordionItem, который включает BoxLayout в горизонтальной ориентации. Внутри него находится еще один BoxLayout с вертикальной ориентацией для кнопок, а затем два виджета TextInput. Вот код языка Kivy:

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

:
title: 'date today  time     reference'
is_editable: False
BoxLayout:
orientation: 'horizontal'

BoxLayout:
orientation: 'vertical'
size_hint_y: None
height: 100
size_hint_x: None
width: 50

Button:
id: edit_button
background_normal: 'images/iconmonstrEdit32.png'
size_hint: None, None
size: 30, 30
pos_hint: {'center_x': 0.5, 'center_y': 0.5}
on_press: root.save_entry(self)

Button:
id: remove_button
background_normal: 'images/iconmonstrXMark32.png'
size_hint: None, None
size: 30, 30
pos_hint: {'center_x': 0.5, 'center_y': 0.5}
on_press: root.remove_entry(self)

TextInput:
id: input_1
multiline: 'True'
hint_text: 'This'

TextInput:
id: input_2
multiline: 'True'
hint_text: 'That'
В настоящее время, когда я запускаю его, это выглядит так:
[img]https: //i.sstatic.net/oT6WrHKA.png[/img]

Две кнопки слева расположены внизу BoxLayout. Как сделать так, чтобы эти кнопки отображались вверху с небольшим пространством между ними?
Я пробовал разные вещи, ни одна из них не изменила положение кнопок, чтобы они находились вверху BoxLayout слева.
Я попробовал изменить pos_hint на: {'center_x': 0.5, 'top': 0.1}< /code>, но ничего не изменилось.
Описание BoxLayout в документации Kivy 2.3.0 гласит: «Подсказки по положению частично работают, в зависимости от ориентации: если ориентация вертикально: будут использоваться x, right и center_x». Поэтому я попытался удалить атрибут center_y из pos_hint, но ничего не изменилось.
Я даже пытался изменить BoxLayout на AnchorLayout с помощьюnchor_y установлено значение «сверху», но это было еще хуже.
Как мне выполнить такое базовое позиционирование виджета в Kivy, если кажется, что ничего не меняет результат?

Подробнее здесь: https://stackoverflow.com/questions/791 ... box-layout
Ответить

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

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

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

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

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