0
我正在制作一个tkinter程序,并且由于某种原因[我有一个绑定到control-O的函数],当我使用它时,它会创建一个新行。下面是函数:我的功能在tkinter中创建了一个新行,不知道为什么
def fileOpen(textView):
try:
global currentText
global currentName
global currentTempName
myfile = tkFileDialog.askopenfile(title='Open a file', mode='r')
text.delete('1.0', END)
loadedfile = myfile.read()
currentText = loadedfile
currentFile = myfile.name
currentName = currentFile
currentName = currentName.rsplit('/', 1)[-1] #get the 'name.ext' part only
currentName = currentName.rsplit('\\', 1)[-1] #incase you're usin windows
currentTempName = currentName
currentFileButton.config(text = currentName)
myfile.close()
textView.insert("end", loadedfile)
except:
return
这里是它的绑定:
def ctrlO(arg):
fileOpen(text)
和实际的结合:
root.bind("<Control-o>", ctrlO)
[我使用的是文本组件,并结合它doesn解决问题]
为了更好地解释这个问题,当我按下ctrl + o来打开openfile对话框时,它会创建这是一条新的路线,就好像我按下“Enter”键,但只在文件末尾。如果需要,我可以提供更多的代码,但这些是唯一使用的地方。
感谢
(我认识到,功能杂乱)
编辑:这并不影响节目,因为我清楚开口之间的文本,但它只是有点讨厌,我肯定很容易解决。
谢谢,它的工作。我改变了绑定到根,因为没有像你说的那样处理文本,并且返回'break'起作用。是否有所有绑定的预制行为列表?非常感谢! –
我能找到的唯一完整的键绑定列表位于https://www.tcl.tk/man/tcl8.4/TkCmd/text.htm底部附近 - 请注意,这是为底层Tk环境编写的,而不是Tkinter包装。 – jasonharper
好的,谢谢你,最后一个迷你问题,是否打破每一个这样的定制绑定是常见的做法?或者只是这些情况 –