V4kodin
@V4kodin

Как создать красивые inline кнопки для питона (telegram, aiogram)?

Есть большой, некрасивый код который создает inline кнопки:
markup = InlineKeyboardMarkup(row_width=4)
    item1 = InlineKeyboardButton("1", callback_data='1')
    item2 = InlineKeyboardButton("2", callback_data='2')
    item3 = InlineKeyboardButton("3", callback_data='3')
    item4 = InlineKeyboardButton("4", callback_data='4')
    item5 = InlineKeyboardButton("5", callback_data='5')
    item6 = InlineKeyboardButton("6", callback_data='6')
    item7 = InlineKeyboardButton("7", callback_data='7')
    item8 = InlineKeyboardButton("8", callback_data='8')
    item9 = InlineKeyboardButton("9", callback_data='9')
    item10 = InlineKeyboardButton("10", callback_data='10')
    item11 = InlineKeyboardButton("11", callback_data='11')
    item12 = InlineKeyboardButton("12", callback_data='12')
    item13 = InlineKeyboardButton("13", callback_data='13')
    item14 = InlineKeyboardButton("14", callback_data='14')
    item15 = InlineKeyboardButton("15", callback_data='15')
    item16 = InlineKeyboardButton("16", callback_data='16')
    item17 = InlineKeyboardButton("17", callback_data='17')
    item18 = InlineKeyboardButton("Отмена", callback_data='Отмена')
    markup.add(item1, item2, item3, item4, item5, item6, item7, item8, item9, item10, item11, item12, item13, item14,
               item15, item16, item17, item18)
    await callback_query.message.reply('Выберите неделю', reply_markup=markup)

DmCdqX783eM.jpg?size=265x224&quality=96&sign=ab9077a7d7ed03444759d9b050ff9fd8&type=album
Этот код можно упростить сделав через цикл
markup = InlineKeyboardMarkup(row_width=1, resize_keyboard=True)
    button_list = []
    for i in range(1, 17):
        button_list.append(InlineKeyboardButton(f"{i}", callback_data=f"{i}"))
    markup.add(*button_list, InlineKeyboardButton("Отмена", callback_data='Отмена'))
    await callback_query.message.reply('Выберите неделю', reply_markup=markup)

OVDyqkrIQn4.jpg?size=191x681&quality=96&sign=3cf49a37b64f07c5bbc712c91e75369b&type=album
Проблема в том что первый вариант выглядит куда лучше и хочется добиться такого же результата.
  • Вопрос задан
  • 737 просмотров
Решения вопроса 1
deepblack
@deepblack Куратор тега Python
почему у тебя во втором варианте указано
row_width=1
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы