小编Ali*_*uga的帖子

Python TK Notebook 选项卡更改检查

这里是新手程序员。我正在构建一个基于 tk 的桌面应用程序,但遇到了一个问题:

我有一个主窗口,其中有几个内容,包括两个选项卡:

    global nBook
    nBook = ttk.Notebook(self, name="book")
    nBook.place(x=300,y=400)
    frameOne = ttk.Frame(nBook, width=100, height=100)
    frameTwo = ttk.Frame(nBook, width=100, height=100)
    nBook.add(frameOne, text='T1')
    nBook.add(frameTwo, text='T2')
    frameOne.bind("<<NotebookTabChanged>>", self.routine())
    frameTwo.bind("<<NotebookTabChanged>>", self.routine())
Run Code Online (Sandbox Code Playgroud)

routine()是一个应该在每次选择 T2 时执行检查的函数

def routine(self):
    if str(nBook.index(nBook.select())) == "2":
        # Do stuff
    else:
        pass
Run Code Online (Sandbox Code Playgroud)

问题是,当选项卡更改时,它不会执行任何操作,除了在我打开应用程序后立即调用例程函数,并且不再执行。我只是不明白我做错了什么。

有人能指出我犯的错误吗?

编辑:如果我尝试同样的问题

nBook.bind("<<NotebookTabChanged>>", self.xbRoutine())
Run Code Online (Sandbox Code Playgroud)

python events tk-toolkit

7
推荐指数
1
解决办法
4805
查看次数

标签 统计

events ×1

python ×1

tk-toolkit ×1