如何将Python Telegram Bot ConversationBot横向按钮改为纵向
解决按钮纵向排列的问题
在python-telegram-bot的按钮配置中,按钮的排列由InlineKeyboardMarkup(或ReplyKeyboardMarkup,取决于使用的按钮类型)的嵌套列表结构决定:
- 外层列表代表整个键盘的行集合
- 每个内层子列表代表单独一行的按钮
原示例中所有按钮都放在同一个内层列表里,因此会横向并排显示。要改成纵向每行一个按钮,只需把每个按钮单独放在一个子列表中即可。
修改前的代码(横向排列)
keyboard = [ [InlineKeyboardButton("Number1ToChoose", callback_data='1'), InlineKeyboardButton("Number2ToChoose", callback_data='2'), InlineKeyboardButton("Number3ToChoose", callback_data='3'), InlineKeyboardButton("Number4ToChoose", callback_data='4'), InlineKeyboardButton("Number5ToChoose", callback_data='5')] ] reply_markup = InlineKeyboardMarkup(keyboard)
修改后的代码(纵向排列)
keyboard = [ [InlineKeyboardButton("Number1ToChoose", callback_data='1')], [InlineKeyboardButton("Number2ToChoose", callback_data='2')], [InlineKeyboardButton("Number3ToChoose", callback_data='3')], [InlineKeyboardButton("Number4ToChoose", callback_data='4')], [InlineKeyboardButton("Number5ToChoose", callback_data='5')] ] reply_markup = InlineKeyboardMarkup(keyboard)
这样修改后,每个按钮就会单独占据一行,达到你期望的显示效果。
内容的提问来源于stack exchange,提问作者Saeed
相关产品推荐
相关产品推荐

