python – Tkinter中的Notebook小部件

用Tkinter和wxPython玩了一下,我喜欢Tkinter在我的源代码看起来干净多了.然而,它似乎没有这么多的功能;特别是它没有标签(如在Firefox窗口顶部的选项卡中).

关于这个问题的一些谷歌提供了一些建议.有一个类允许您使用选项卡的a cookbook entry,但它是非常原始的. SourceForge上还有Python megawidgets,虽然这看起来很老,但在安装过程中却给了我错误.

有没有人在Tkinter中制作标签GUI?你用什么或者简单的情况是,任何需要更强大的窗口组件的人都必须使用wxPython?

最佳答案
在最近的Python(> 2.7)版本中,您可以使用ttk模块,该模块提供对Tk 8.5中引入的Tk主题小部件集的访问.

以下是在Python 2中导入ttk的方法:

import ttk

help(ttk.Notebook)

在Python 3中,ttk模块附带标准版本作为子模块tkinter.

这是一个基于TkDocs网站的示例的简单工作示例:

from tkinter import ttk
import tkinter as tk
from tkinter.scrolledtext import ScrolledText


def demo():
    root = tk.Tk()
    root.title("ttk.Notebook")

    nb = ttk.Notebook(root)

    # adding Frames as pages for the ttk.Notebook 
    # first page, which would get widgets gridded into it
    page1 = ttk.Frame(nb)

    # second page
    page2 = ttk.Frame(nb)
    text = ScrolledText(page2)
    text.pack(expand=1, fill="both")

    nb.add(page1, text='One')
    nb.add(page2, text='Two')

    nb.pack(expand=1, fill="both")

    root.mainloop()

if __name__ == "__main__":
    demo()

另一个选择是使用tkinter.tix库中的NoteBook小部件.要使用tkinter.tix,您必须安装Tix小部件,通常与安装Tk小部件一起安装.要测试您的安装,请尝试以下操作:

from tkinter import tix
root = tix.Tk()
root.tk.eval('package require Tix')

欲了解更多信息,请在PSF网站上查看此webpage.

请注意,tix很旧,支持不够好,所以最好的选择可能是去ttk.Notebook.

转载注明原文:python – Tkinter中的Notebook小部件 - 代码日志