有效使用ttk(tk 8.5)Notebook小部件(选项卡滚动)
我正在用Tkinter和Python做一个项目。为了能有原生的主题效果,并且利用一些新控件,我在Python 2.6中使用了ttk。我的问题是,怎么让用户能像在火狐浏览器中那样滚动笔记本控件里的标签。此外,我还需要在标签的右边留出一部分空间放关闭按钮。活动标签的框架需要填满可用的水平空间,包括滚动箭头下面的部分。
我想我可以用Place几何管理器来实现这个,但我在想有没有更好的方法?ttk的Python文档里似乎没有我能找到的处理这个问题的方法。
编辑:看起来即使用place来实现这个也有困难。首先,我还需要让标签可以滚动,而活动面板又要保持在一个地方。
2 个回答
0
我以前从来没用过这些小部件,所以我对这个问题不太了解。不过我会尝试类似于grid_remove()这个方法。如果你能把标签移动到一个看不见的小部件上,或者只是让它们变得不可见而不丢失内容,那就是我会寻找或尝试的方向。
3
这个笔记本小部件不支持标签的滚动(或者多个层级的标签也不行),因为开发者认为这样不利于用户界面(GUI)的设计。我能理解他的观点;这样的界面往往不好用。我见过的最好的解决办法是,在旁边放一个面板,让用户选择要显示哪个面板。然后你可以对这个面板进行一些技巧处理,以管理那里的信息量(比如,把它做成树形视图小部件,并以层级的方式存放信息,就像大多数邮箱客户端处理邮件文件夹的方式一样;树形视图小部件是可以滚动的)。