在 MacOS/Python 2.7 下使用 Tkinter Notebook 創建了 2 個 Tab,每個 Tab 中包含一個帶著 Scrollbar 的 Text 控制元件,我的代碼如下,在運行時出現個問題:
程序如下:
1. 程式啟動后,第一次用滑鼠點選 Tab 1,滑動 Scrollbar 可以移動
2. 程式啟動后,第一次用滑鼠點選 Tab 2,滑動 Scrollbar 可以移動
3. 但是在點擊 Tab 2 并操作滑塊后,再回傳來點擊選擇 Tab 1,此時 Tab 1 中的滑塊卻沒有回應,不能移動!究竟哪里出了問題!

請教高手以下這樣的操作錯誤在哪里?有什么解決方法?
# coding=utf-8
from Tkinter import (Tk, Text, Scrollbar)
from Tkconstants import (END, RIGHT, X, Y, BOTH, YES)
import ttk
def add_tab_with_text(master,title):
'''向ttk.Notebook中添加一個tab,并在tab中添加一個帶scrollbar的Text控制元件'''
mytab = ttk.Frame(master)
master.add(mytab, text=title)
# 設定Scrollbar
scrollbar_v = Scrollbar(mytab)
scrollbar_v.pack(side=RIGHT, fill=Y)
# 設定Text控制元件
mytext = Text(mytab, width=40, height=40)
mytext.config(yscrollcommand=scrollbar_v.set)
mytext.pack(expand=YES,fill=BOTH)
# Text控制元件中添加內容
for i in range(1, 1000):
mytext.insert(END, '%s line: %d.0\n' % (title,i))
# Scrollbar動作bind
scrollbar_v.config(command=mytext.yview)
main_win = Tk()
main_win.title('Scrollbar test')
main_win.geometry('800x800')
nb = ttk.Notebook(main_win)
add_tab_with_text(nb,'tab 1') # 創建Tab 1
add_tab_with_text(nb,'tab 2') # 創建Tab 2
nb.pack(fill='both',side='top')
main_win.mainloop()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/281528.html
上一篇:求知貼
下一篇:easybuilderpro
