簡體   English   中英

Python TTK筆記本錯誤地顯示了選定的選項卡

[英]Python ttk notebook showing selected tab wrongly

from tkinter import *
from tkinter import ttk

class MainGame(Frame):
    def __init__(self, parent):
        Frame.__init__(self, parent)   
        self.parent = parent        
        self.initUI()

    def tab_change(self, event):
        tab_id = self.page.index('current')
        print(tab_id, self.page.tab(tab_id, 'text'))

    def initUI(self):
        global canvas
        self.parent.title('PythonPage')
        self.pack(fill = BOTH, expand = 1)
        self.page = ttk.Notebook(self, width = 646 ,height = 629)
        self.page1 = Frame(self)
        self.page2 = Frame(self)
        self.page.add(self.page1, text = 'Tab1')
        self.page.add(self.page2, text = 'Tab2')
        self.page.bind('<ButtonPress-1>', self.tab_change)
        self.page.pack(expand = 0, anchor = 'w', side = 'top')

root = Tk()
root.geometry('925x650')
main = MainGame(root)
root.mainloop()

tab_change可以顯示其ID和名稱,但顯示不正確。

單擊Tab1 ,我單擊了Tab2但它仍然打印0 Tab1 ,還需0 Tab1單擊一次以打印1 Tab2

Tab2單擊與Tab1相同,需要再次單擊以顯示當前選定的選項卡。

我想找到為什么選項卡需要雙擊? 怎樣單擊才能正確選擇選項卡?

更改:

self.page.bind('<ButtonPress-1>', self.tab_change)

至:

self.page.bind('<ButtonRelease-1>', self.tab_change)

因為除非您釋放按下的按鈕,否則選項卡不會更改!

在此處輸入圖片說明

暫無
暫無

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

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