簡體   English   中英

使用 python tkinter 創建鍵盤快捷鍵並出現錯誤 TypeError: savF() takes 0 positional arguments but 1 was given

[英]Creating a keyboard shortcut with python tkinter and get error TypeError: savF() takes 0 positional arguments but 1 was given

我有一個名為 Mwin 的 tkinter Mwin我嘗試使用命令創建快捷方式Mwin是我的主 window 的名稱,其中包含我編碼的所有其他 tkinter 對象

Mwin.bind('<Control-s>', saveF)打開下面的saveF function

def saveF():
    files = [('CSV Files', '*.csv')]
    sFile = asksaveasfile(filetypes = files, mode='w', defaultextension=".dat")
    for i in range(10):
        sFile.write(date[i].get() + "," + timein[i].get() + "," + timeout[i].get() + "," + dHours2in[i].get() + "," + dHours2out[i].get() + '\n')
    sFile.write(dutyTimeinEntry.get() + "," + dutyTimeoutEntry.get())
    sFile.close

我的應用程序可以正常打開,但是當我按下 control 時,我收到消息:

Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3568.0_x64__qbz5n2kfra8p0\lib\tkinter\__init__.py", line 1892, in __call__
    return self.func(*args)
TypeError: savF() takes 0 positional arguments but 1 was given

這有幫助嗎?

片段代碼:

def saveF(event):
    repr(event.char)
    files = [('CSV Files', '*.csv')]
    sFile = asksaveasfile(filetypes = files, mode='w', defaultextension=".dat")
    for i in range(10):
        sFile.write(date[i].get() + "," + timein[i].get() + "," + timeout[i].get() + "," + dHours2in[i].get() + "," + dHours2out[i].get() + '\n')
    sFile.write(dutyTimeinEntry.get() + "," + dutyTimeoutEntry.get())
    sFile.close

Mwin.bind("<Key>", saveF)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM