增加字符的ascii代码

2024-06-26 18:00:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我想按一下下面的“学习”键,按一下“代码”键。如你所见,它从“A”开始。。。然后通过显式地将其改为“B”来作弊。我想访问StringVar中的第一个位置(可能是索引0),然后根据其ascii代码将其作为字符递增,然后将其转换回StringVar。这可能吗?这里有比使用StringVar更简单的方法吗?在

enter image description hereenter image description here

from Tkinter import *
from tkMessageBox import *
print "this is a test"


class Demo(Frame):
    def __init__(self):
        self.createGUI()
        print "init"
        #self.__mainWindow = Tk()
    def destroy(self):
        print "destroy"
    def createGUI(self):
        Frame.__init__(self)
        self.pack(expand = YES, fill = BOTH)
        self.master.title("Demo")
        self.trackLabel = StringVar()
        self.trackLabel.set("A")
        self.trackDisplay = Label(self, font = "Courier 14", textvariable = self.trackLabel, bg = "black", fg = "green")
        self.trackDisplay.grid(sticky = W+E+N+S)
        self.button1 = Button(self, text = "Move Forward", width = 20, command = self.bpress)
        self.button1.grid(row = 2, column = 0, sticky = W+E+N+S)
        self.bind_all('<Key>', self.print_contents)


    def bpress(self):
        self.trackLabel.set("B") # I want to do this so it cycles through the alphabet!
        print "ow"
        #INSTEAD I WANT TO MAKE TRACKLABEL ASCII CHAR + 1 HERE
    def print_contents(self, event):
        print "testing here...", self.trackLabel.get()
        #INSTEAD I WANT THIS TO MAKE TRACKLABEL ASCII CHAR + 1 HERE BY KEY, OR ABOVE BY BUTTON PRESS
# run the program
def main():
    tts = Demo()
    tts.mainloop()

if __name__ == "__main__":
    main()

Tags: 代码fromimportselfinitdemomaindef
1条回答
网友
1楼 · 发布于 2024-06-26 18:00:03

您可以使用ord获得字符的ascii代码,并使用chr将代码转换回字符。在

code = ord(self.trackLabel.get())
self.trackLabel.set(chr(code+1))

相关问题 更多 >