Python Tkinter-在单击按钮时将所有按钮文本字母更改为大写

Python Tkinter-在单击按钮时将所有按钮文本字母更改为大写,python,python-3.x,tkinter,Python,Python 3.x,Tkinter,我正在用Tkinter制作一个屏幕键盘,我想实现一个“Shift”按钮,在点击时大写字母,就像在真正的键盘上一样。 我想知道如何实现此功能 在单击Shift按钮之前,我的列表应该如下所示 buttons = [ '!', 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', '←', '7', '8', '9', '-', 'Tab', 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', '[',

我正在用Tkinter制作一个屏幕键盘,我想实现一个“Shift”按钮,在点击时大写字母,就像在真正的键盘上一样。 我想知道如何实现此功能

在单击Shift按钮之前,我的列表应该如下所示

buttons = [
    '!', 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', '←', '7', '8', '9', '-',
    'Tab', 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', '[', ']', '4', '5', '6', '+',
    'Shift', 'z', 'x', 'c', 'v', 'b', 'n', 'm', ',', '.', '/', '?', '*', '1', '2', '3',
    ' Space ' 
]
shift_buttons = [
    '!', 'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P', '←', '7', '8', '9', '-',
    'Tab', 'A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L', '[', ']', '4', '5', '6', '+',
    'Shift', 'Z', 'X', 'C', 'V', 'B', 'N', 'M', ',', '.', '/', '?', '*', '1', '2', '3',
    ' Space ' 
]
单击shift按钮后,我希望我的按钮列表如下所示

buttons = [
    '!', 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', '←', '7', '8', '9', '-',
    'Tab', 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', '[', ']', '4', '5', '6', '+',
    'Shift', 'z', 'x', 'c', 'v', 'b', 'n', 'm', ',', '.', '/', '?', '*', '1', '2', '3',
    ' Space ' 
]
shift_buttons = [
    '!', 'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P', '←', '7', '8', '9', '-',
    'Tab', 'A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L', '[', ']', '4', '5', '6', '+',
    'Shift', 'Z', 'X', 'C', 'V', 'B', 'N', 'M', ',', '.', '/', '?', '*', '1', '2', '3',
    ' Space ' 
]

简言之,如何通过单击按钮小部件将按钮文本从第一个列表更改为第二个列表?

您应该首先创建一个进行转换的函数。例如,从代码中定义一个函数

def shift_buttons():
    buttons = shift_buttons

注意:通过按钮和shift_按钮,我的意思是将键盘上的普通按钮更改为屏幕键盘上的大写按钮。希望您理解我的意思。

根据Github链接中的代码,建议:

  • 定义变量
    shift\u on
    以保持
    shift
    键的当前状态
  • 定义一个列表
    字母按钮
    以保存字母按钮的引用(“a”到“z”)
然后修改
按钮单击()
,如下所示:

def是字母:

返回len(s)==1和“a”,其中是按钮代码,请包括这也是我目前的全部代码。请将您的代码放入您的问题中。代码中没有任何内容显示您尝试实现
shift
按钮单击的内容。我建议不要提供如此复杂的代码,以便我们了解正在执行的操作,再举一个与你的情况类似的例子,并将其包括在内,这样我们就可以继续提供帮助。基本上,您需要绑定到窗口,并且每当按下
'Shift'
时,您都希望使用
config()
更改按钮的文本,但不确定如何在那里定义按钮。非常感谢,@acw1668。这正是我想要我的代码做的!!高度赞赏:)