Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 增加一个字符';s ascii码_Python_Tkinter_Ascii - Fatal编程技术网

Python 增加一个字符';s ascii码

Python 增加一个字符';s ascii码,python,tkinter,ascii,Python,Tkinter,Ascii,在下面的代码中,我正在学习Tkinter,我希望按下按钮或按键可以将文本从“a”更改为“B”。正如你所看到的,它从“A”开始。。。然后通过显式地将其更改为“B”来作弊。我想访问StringVar中的第一个位置(可能是索引0),然后根据其ascii码将其作为字符递增,然后将其转换回StringVar。这可能吗?这里有没有比使用StringVar更简单的方法 from Tkinter import * from tkMessageBox import * print "this is a test"

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

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()

从Tkinter导入*
从tkMessageBox导入*
打印“这是一个测试”
课堂演示(框架):
定义初始化(自):
self.createGUI()
打印“init”
#self.\uuu main window=Tk()
def销毁(自我):
打印“销毁”
def createGUI(自身):
帧。\uuuu初始化\uuuuu(自)
self.pack(扩展=是,填充=两者)
self.master.title(“演示”)
self.trackLabel=StringVar()
self.trackLabel.set(“A”)
self.trackDisplay=Label(self,font=“Courier 14”,textvariable=self.trackLabel,bg=“黑色”,fg=“绿色”)
self.trackDisplay.grid(粘性=W+E+N+S)
self.button1=按钮(self,text=“向前移动”,宽度=20,命令=self.bpress)
self.button1.grid(行=2,列=0,粘性=W+E+N+S)
self.bind_all(“”,self.print_内容)
def bpress(自):
self.trackLabel.set(“B”)#我想这样做,这样它就可以在字母表中循环!
打印“ow”
#相反,我想在这里将TRACKLABEL ASCII字符设置为+1
def打印内容(自身、事件):
打印“在这里测试…”,self.trackLabel.get()
#取而代之的是,我想让TRACKLABEL ASCII字符在这里按键+1,或者在上面按按钮
#运行程序
def main():
tts=Demo()
tts.mainloop()
如果名称=“\uuuuu main\uuuuuuuu”:
main()

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

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