@Vlad_Lop12

Как сделать перенос инлайн кнопок?

Всем привет!
Пишу бота на aiogram и столкнулся с такой проблемой, что не могу сделать перенос кнопок.
То есть, чтобы на одном уровне было только 2 кнопки, а на другом тоже 2, а не чтобы в ряд шли.

def  test():
    return types.InlineKeyboardMarkup(row_width = 2).row(
        types.InlineKeyboardButton('test', callback_data=ge_cb.new(action='test1')),
        types.InlineKeyboardButton('test' , callback_data=ge_cb.new(action='test2')),
        types.InlineKeyboardButton('test', callback_data=ge_cb.new(action='test3')),
        types.InlineKeyboardButton('test', callback_data=ge_cb.new(action='test4')))


Указываю параметр row_width = 2, но ничего не работает.
Помогите, пожалуйста
  • Вопрос задан
  • 1151 просмотр
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
ничего не работает

Потому что кнопки в итоге добавляете через метод row, который игнорирует параметр row_width
row() добавляет именно строку, сколько передали параметров - столько и будет кнопок в строке (ну, без превышения лимитов телеги конечно)
add() добавляет кнопки, разбивая их на несколько строк по длине row_width

Так что заменяйте на
def  test():
    return types.InlineKeyboardMarkup(row_width = 2).add(
        types.InlineKeyboardButton('test', callback_data=ge_cb.new(action='test1')),
        types.InlineKeyboardButton('test' , callback_data=ge_cb.new(action='test2')),
        types.InlineKeyboardButton('test', callback_data=ge_cb.new(action='test3')),
        types.InlineKeyboardButton('test', callback_data=ge_cb.new(action='test4')))
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 нояб. 2024, в 22:38
2500 руб./за проект
23 нояб. 2024, в 22:03
3000 руб./за проект
23 нояб. 2024, в 21:53
30000 руб./за проект