MacOS/Python2.7 Tkinter Notebook+Text Scrollbar响应异常咨询

auspark 2021-04-29 01:16:25
在 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()
...全文
232 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
auspark 2021-04-30
  • 打赏
  • 举报
回复
难倒我是第一个遇到这问题吗?

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧