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
好的,謝謝你,最後一個迷你問題,是否打破每一個這樣的定製綁定是常見的做法?或者只是這些情況 –