@char906

Как менять row_width каждой кнопки отдельно?

Доброго времени суток!

markup = types.InlineKeyboardMarkup(row_width=1)

            item1 = types.InlineKeyboardButton("кнопка 1", callback_data='1')
            item2 = types.InlineKeyboardButton("кнопка 2", callback_data='2')
            item3 = types.InlineKeyboardButton("кнопка 3", callback_data='3')
            item4 = types.InlineKeyboardButton("кнопка 4", callback_data='4')
            item5 = types.InlineKeyboardButton("кнопка 5", callback_data='5')
            item6 = types.InlineKeyboardButton("кнопка 6", callback_data='6')
            item7 = types.InlineKeyboardButton("кнопка 7", callback_data='7')

            markup.add(item1, item2, item3, item4, item5, item6, item7)


Пишу вот такой вот код и у меня все кнопки в одну линию, как мне сделать, чтобы row_width был разный для каждой кнопки, то есть чтобы row_width=1 для кнопок 1..5 и row_width=2 для кнопок 6-7?
  • Вопрос задан
  • 465 просмотров
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
row_width для этого не предназначен. Он автоматически разбивает кнопки на группы по заданной длине.
Используйте метод row(...), в него передается любое кол-во аргументов, которые и будут составлять один ряд
https://github.com/eternnoir/pyTelegramBotAPI/blob...

buttons = [item1, item2, item3, item4, item5, item6, item7]

for button in buttons[:5]:
    markup.row(button)

markup.row(item6, item7)

Можно как нибудь покрасивее наверное сделать, ну да ладно
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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