猿问

代码完成后 Tkinter 窗口打开

我刚刚开始使用声卡 python 模块的基本功能。但是,我无法让我的 tkinter 窗口首先显示,然后等到按下运行按钮来执行“def run()”代码。它总是先执行“def run()”代码,然后打开窗口。我究竟做错了什么?


from tkinter import *

import soundcard as sc


window = Tk()

window.geometry("500x500")

window.title("Virtual Soundcard")


default_speaker = sc.default_speaker()

default_mic = sc.default_microphone()


def run():


    with default_mic.recorder(samplerate=44100) as mic, \

        default_speaker.player(samplerate=44100) as sp:

        for val in range(100):

            data = mic.record(numframes=None)

            sp.play(data)


RunButton = Button(window, text ="Run", command = run())

RunButton.pack()

RunButton.place(x = 100, y = 250)


window.mainloop()


慕标琳琳
浏览 152回答 1
1回答

当年话下

更改RunButton = Button(window, text ="Run", command = run())为RunButton = Button(window, text ="Run", command = run)基本上删除()命令参数,()甚至在按下按钮之前(即在代码执行时)调用该函数。希望这能解决这个错误。如有任何疑问或错误,请告诉我。干杯
随时随地看视频慕课网APP

相关分类

Python
我要回答