Convertapi 模块在调用时启动多个 tkinter 实例

Convertapi module launch multiple tkinter instances when called

我正在使用模块 convertapi 在 Python3.8 中的 tkinter 应用程序中合并文件。当我的代码中有一些 tkinter window 时,如果调用 convertapi.convert('merge', {'Files': input_files}),则会打开 tkinter window 的多个实例。 我的脚本:

from tkinter import *
import convertapi

input_files = ["file1.pdf", "file2.pdf", "file3.pdf"]
output_file = "mergedFile.pdf"

def mergePDFs(input_files, output_file):
    convertapi.api_secret = 'my-api-secret'
    result = convertapi.convert('merge', {'Files': input_files})
    result.file.save(output_file)


root = Tk()
Button(root, text="Merge", command=lambda: mergePDFs(input_files, output_file)).pack()
root.mainloop()

这是一个非常奇怪的行为,因为即使我在预先关闭 tkinter window 的情况下调用控制台中的函数,多个 windows 仍然打开。我猜这两个模块之间存在某种不兼容,但我不能确定。如果有帮助,还有 10 个 tkinter 实例 window 在调用函数时打开。

问题解决了!可以在 github here.

上找到解决方案