首页 > 解决方案 > pyTelegramBotAPI 是否有另一种将标记宽度添加到按钮列表的方法?

问题描述

标题几乎是我需要的,但我会解释为什么我需要它。我正在使用for循环,然后在里面,我有一个将按钮添加到数组的循环,问题是我必须在底部制作一个单独的按钮,没有循环,因此,我搜索并找到了方法:

buttons = []
def gen_markup():
    markup = InlineKeyboardMarkup()
    markup.row_width = 1
    for x, y in zip(name, conexion):
        buttons.append(InlineKeyboardButton(x, url=y))
    buttons.append(InlineKeyboardButton("Añadir Botón", callback_data="add_btn"))
    reply_markup = InlineKeyboardMarkup([buttons])
    return reply_markup

所以,这一切都在工作,除了标记的宽度没有,我理解它,因为我返回的是reply_markup变量,而不是标记变量。所以基本上我需要解决这个问题,如果你找到另一种方式,我当然愿意接受,我只是把那个放在标题中,因为这是我唯一能想到的。谢谢

标签: pythonpy-telegram-bot-api

解决方案


试试这段代码,剩下的就看你的python技能了

def gen_markup():
    markup = InlineKeyboardMarkup(row_width=1)
    markup.add(*[InlineKeyboardButton(x, url=y)) for x, y in zip(name, conexion)])
    markup.add(InlineKeyboardButton("Añadir Botón", callback_data="add_btn"))
    
    return reply_markup

推荐阅读