精华内容
下载资源
问答
  • 顺便问一下,tkinter有没有想浏览器里的选项卡一样有 ‘x’ 号 代码如下: class a: def destroy(self, event): self.note.forget(self.tab) def add_note(self, text): self.tab = Frame(self.note...
  • Python之tkinter 多选项卡 Notebook

    千次阅读 2020-03-25 11:40:05
      Notebook 是一个Widget 容器控件,这个控件的特点就是有许多选项卡,当选择不同选项卡时可以看到不同的子控件内容,也可以当做子窗口内容,Notebook 是属于tkinter.ttk模块的控件 构造方法如下: Notebook(父...

    Notebook 基本概念

      Notebook 是一个Widget 容器控件,这个控件的特点就是有许多选项卡,当选择不同选项卡时可以看到不同的子控件内容,也可以当做子窗口内容,Notebook 是属于tkinter.ttk模块的控件

    构造方法如下:

    Notebook(父对象, options)
    

    参数:

    • 第一个参数:父对象,表示这个选项卡将建立在哪一个窗口内
    • 第二个参数:options,参数如下
    参数含义
    height如果设置数值则使用设置高度
    默认是使用最大可能高度
    padding设置Notebook外围的额外空间,可以设置4个数值代表left、top、tight、bottom四周的空间
    width如果设置数值则使用设置宽度
    默认是使用最大可能宽度

    整个建立Notebook框架的步骤:

    • Notebook()建立Notebook对象,假设对象名称是notebook
    • 使用notebook对象调用add()方法
      • add(子对象, text='xxx')
      • xxx是要添加的选项卡名称
    • 上述代码可以将子对象插入notebook,同时产生’xxx’选项卡名称

    如果用正规语法表示add()方法,它的语法格式如下

    add(子对象, options)
    

    options参数如下:

    参数含义
    compound可以设置当选项卡内同时含图像和文字时,彼此之间的位置关系
    image选项卡以图像方式呈现
    padding设置Notebook和面板Pane的额外空间
    state可能值是normal、disabled、hidden
    如果是disabled表示无法被选取使用
    如果是hidden表示被隐藏
    sticky指出子窗口面板的配置方式,n/s/e/w分别表示North、South、East、West
    text选项卡中的字符串内容
    underline指出第几个字母含下划线
    从0开始计算的索引

    Notebook 基本应用

    例子

    import tkinter
    import tkinter.ttk
    root = tkinter.Tk()
    root.geometry('300x180')
    
    notebook = tkinter.ttk.Notebook(root)
    
    frameOne = tkinter.Frame()
    frameTwo = tkinter.Frame()
    
    notebook.add(frameOne, text='选项卡1')
    notebook.add(frameTwo, text='选项卡2')
    notebook.pack(padx=10, pady=5, fill=tkinter.BOTH, expand=True)
    
    root.mainloop()
    

    运行结果:
    在这里插入图片描述

    绑定选项卡与子控件内容

    例子

    import tkinter
    import tkinter.ttk
    root = tkinter.Tk()
    root.geometry('150x120')
    
    def show():
        labelOther.config(text='Tkinter')
        labelOther.config(bg='lightgreen')
    
    notebook = tkinter.ttk.Notebook(root)
    
    frameOne = tkinter.Frame()
    frameTwo = tkinter.Frame()
    
    # 添加内容
    label = tkinter.Label(frameOne, text='Python', bg='lightblue', fg='red')
    label.pack(padx=10, pady=5)
    
    button = tkinter.Button(frameTwo, text='请点击', command=show)
    button.pack(padx=10, pady=5)
    
    labelOther = tkinter.Label(frameTwo, fg='red')
    labelOther.pack(padx=10, pady=5)
    
    notebook.add(frameOne, text='选项卡1')
    notebook.add(frameTwo, text='选项卡2')
    notebook.pack(padx=10, pady=5, fill=tkinter.BOTH, expand=True)
    
    root.mainloop()
    

    运行结果:
    在这里插入图片描述

    谢谢观看,笔者会持续更新,如有错误或者建议,请私信我

    展开全文
  • Tkinter笔记本 这是用tkinter(python)编写的文本编辑器
  • Notebook原始界面: Notebook期望效果: 调式代码: import tkinter as tk from tkinter import * from tkinter import ttk class MyApp(tk.Tk): def init(self): super().init() #继承父类的属性 self.setUi() def ...
  • 在运行完turtle程序后,调用Tkinter的mainloop函数来结束Tkinter图形界面再继续跑turtle程序。函数文档里面也说了,只要不是用IDLE来跑turtle的话,在其它图形界面的程序里都需要在最后调用mainloop函数。

    新手上路,刚开始学习用jupyter来运行turtle程序的时候可能会出现这样的情况。
    turtle-error
    在画笔运行到一半的时候把窗口关了,就看到了jupyter 抛出的一个异常。
    在这里插入图片描述
    上网搜了一下类似的问题,也没有什么答案。然后查了下词典,terminator有“终结”的意思,估计出现了类似于使用循环结构但又停不下来的死循环的异常。

    接着参考了Python绘图Turtle库详解这篇文章,里面有一条很重要的命令。

    mainloop,done

    原来只要在代码的最后加上turtle.done() or turtle.mainloop(),就不会出现图形界面卡顿的问题了。在运行完turtle程序后,调用Tkinter的mainloop函数来结束Tkinter图形界面再继续跑turtle程序。函数文档里面也说了,只要不是用IDLE来跑turtle的话,在其它图形界面的程序里都需要在最后调用mainloop函数。
    在这里插入图片描述

    展开全文
  • tkinter中ttk.Notebook实现多页面切换

    千次阅读 2021-11-25 16:58:50
    使用ttk.Notebook可实现实现多页面切换 直接上代码: import tkinter as tk from tkinter import ttk from tkinter import END class App: def __init__(self,master): self.notebook = ttk.Notebook...

    使用ttk.Notebook可实现实现多页面切换

    直接上代码:

    import tkinter as tk
    from tkinter import ttk
    from tkinter import END
    
    class App:
        def __init__(self,master):
            self.notebook = ttk.Notebook(master)
            self.frame1 = tk.Frame(master)
            self.frame2 = tk.Frame(master)
            
            self.label = tk.Label(self.frame1, text='Python',font=('华文行楷',12))
            self.label.grid()
            self.entry1 = tk.Entry(self.frame1,width = 35)
            self.entry1.grid(row = 0,column=1)
            self.bu1 = tk.Button(self.frame1,text = '请点击1',command = self.bu1)
            self.bu1.grid(row=0,column=2)
            self.list1 = tk.Listbox(self.frame1,font=('微软雅黑',12),width=38,heigh=8)
            self.list1.grid(row=1,columnspan=5)
            
            
            self.bu2 = tk.Button(self.frame2, text='请点击2',command=self.bu2)
            self.bu2.grid()
            self.list2 = tk.Listbox(self.frame2,font=('微软雅黑',12),width=38,heigh=8)
            self.list2.grid(row=1,columnspan=5)
            self.notebook.add(self.frame1, text='test1')
            self.notebook.add(self.frame2, text='test2')
            self.notebook.pack(padx=10, pady=5, fill=tk.BOTH, expand=True)
            
            
        def bu1(self):
            self.list1.insert(END,self.entry1.get()+'人生苦短,我用Python')
            self.list1.see(END)
            self.list1.update()
            
            
        def bu2(self):
            self.list2.insert(END,'Python使我更加强大!')
            self.list2.see(END)
            self.list2.update()
    
    
    if __name__ == '__main__':
        root = tk.Tk()
        root.title('notebook_test')
        # root.iconbitmap('fa.ico') #设置左上角小图标
        root.geometry('400x200+200+100')
        # root.resizable(0, 0) #设置窗口不可变
        App(root)
        root.mainloop() 

    展开全文
  • 我的想法是,当notebook的选项卡被单击后,触发事件或者返回选项卡的内容。
  • TkinterNoteBook选项卡标签

    千次阅读 2020-12-09 00:42:14
    一、参数说明参数作用width选项卡宽度,单位像素height选项卡高度cursor鼠标停留的样式padding外部空间填充,是个最多4个元素的列表style设置menubotton的样式NoteBook方法列表:.add(child, **kw)该child 参数是一...

    一、参数说明

    参数作用

    width

    选项卡宽度,单位像素

    height

    选项卡高度

    cursor

    鼠标停留的样式

    padding

    外部空间填充,是个最多4个元素的列表

    style

    设置menubotton的样式

    NoteBook方法列表:

    .add(child, **kw)

    该child 参数是一个小部件,通常Frame,它包装一个子窗格中的内容。如果child不是Notebook窗口小部件的子窗格之一,child则添加为下一个可用选项卡,关键字参数kw定义新窗格的选项卡选项。这些选项在表51“ ttk.Notebook 小部件的选项卡选项”中定义。

    如果child是当前隐藏的窗格,则该选项卡将重新显示在其以前的位置。

    .enable_traversal()

    一旦调用此方法,一些额外的键绑定将起作用:

    Control-Tab将在当前选择的选项卡后选择选项卡。如果当前选择了最后一个选项卡,则选择将旋转回第一个选项卡。

    Shift-Control-Tab执行相反操作:它移动到上一个选项卡,如果选择了第一个选项卡,则环绕到最后一个选项卡。

    您可以配置直接选择选项卡的特定热键。要执行此操作,请使用text和underline选项卡选项为每个选项卡中的一个字符加下划线。然后,用户可以通过键入Alt-跳转到选项卡,x其中 x是该选项卡上带下划线的字符。

    如果Notebook在同一个应用程序中有多个小部件,则除非创建每个子窗格小部件并将其Notebook窗口小部件作为父窗口小部件,否则这些功能将无法正常工作。

    .forget(child)

    此方法child从窗口小部件的选项卡集中永久删除指定的内容。

    .hide(tabId)

    标识的选项卡tabId暂时从中显示的可见选项卡集中删除Notebook。您可以通过.add() 再次调用该方法来恢复它。

    .index(tabId)

    对于给定的tabId,此方法返回相应选项卡的数字索引。有一个例外:如果参数是字符串"end",则该方法将返回选项卡的总数。

    .insert(where, child,**kw)

    此方法使用任何关键字参数将窗口小部件插入到child指定的位置 where,以描述新选项卡和窗格。有关关键字选项,请参阅表51“ ttk.Notebook 小部件的选项卡选项”。

    该where 参数可以是任何的:

    “end” 在所有现有选项卡之后放置新选项卡。

    现有的子窗口小部件; 在这种情况下,new child就在现有小部件之前插入。

    .select([tabId])

    如果在没有参数的情况下调用此方法,它将返回当前显示其选项卡的窗口小部件的窗口名称。

    要显示特定窗格Notebook,请使用a tabId作为参数调用此方法。

    .tab(tabId, option=None, **kw)

    使用此方法可以为所描述的子窗格设置选项卡选项tabId,或者找出为该子窗格设置的选项。

    如果您调用没有关键字参数的方法,它将返回当前对指定的窗格有效的选项卡选项的字典tagId。

    要查找特定选项卡选项的当前值 X,请使用参数“option=X” 调用此方法,该方法将返回该选项卡选项的值。

    要为描述的子项设置一个或多个选项卡选项tagId,请使用关键字参数调用此方法。例如,如果self.nb 是 Notebook,则此调用将更改第一个选项卡上显示的文本:

    self.nb.tab(0, text=‘Crunchy frog’)

    .tabs()

    此方法返回的列表窗口名称中的Notebook的子窗格中,从第一个到最后的次序。

    二、代码示例

    import tkinter as tk

    from tkinter import ttk

    window = tk.Tk()

    # 设置窗口大小

    winWidth = 600

    winHeight = 400

    # 获取屏幕分辨率

    screenWidth = window.winfo_screenwidth()

    screenHeight = window.winfo_screenheight()

    x = int((screenWidth - winWidth) / 2)

    y = int((screenHeight - winHeight) / 2)

    # 设置主窗口标题

    window.title("TreeView参数说明")

    # 设置窗口初始位置在屏幕居中

    window.geometry("%sx%s+%s+%s" % (winWidth, winHeight, x, y))

    # 设置窗口图标

    window.iconbitmap("./image/icon.ico")

    # 设置窗口宽高固定

    window.resizable(0, 0)

    # 定义列的名称

    tab = ttk.Notebook(window)

    frame1 = tk.Frame(tab, bg = "red")

    tab1 = tab.add(frame1, text = "1")

    frame2 = tk.Frame(tab, bg = "yellow")

    tab2 = tab.add(frame2, text = "2")

    frame3 = tk.Frame(tab, bg = "blue")

    tab3 = tab.add(frame3, text = "3")

    tab.pack(expand = True, fill = tk.BOTH)

    # 设置选中tab2

    tab.select(frame2)

    window.mainloop()

    三、效果图

    展开全文
  • Tkinter打造GUI开发工具(19)ttk.Notebook笔记本小部件 ttk.Notebook笔记本组件类似多页的Frame,通过点击顶部标签的选项卡选择不同容器。笔记本小部件的目的是提供一个区域,用户可以通过单击区域顶部的选项卡来...
  • 简而言之,Jupyter Notebook 是以网页的形式打开,可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示。如在编程过程中需要编写说明文档,可在同一个页面中直接编写,便于作及时的说明...
  • ttk中虽然添加了Notebook,但其功能过于简单,无法支持双击创建选项卡,删除选项卡等功能,于是自定义了tabview,有需要的朋友,可以参考在tkinter中自定义view的方法,自定义自己的view 使用方法 import tkinter as...
  • tkinter窗口切换

    千次阅读 2020-06-12 11:21:57
    import tkinter as tk root = tk.Tk() 1.2 创建不同的Frame,相当于不同的桌布,分别用来创建不同的窗口 face1 = tk.Frame(root) face2 = tk.Frame(root) 1.3 实现界面跳转 调用tkinter.destroy()方法销毁...
  • test code: import Tkinter as tk import ttk from ScrolledText import * root = tk.Tk() tabs = ttk.Notebook(root,width=440,height=310) st1 = ScrolledText(tabs) for i in range(30): st1.insert("insert", ...
  • from tkinter import * pw = PanedWindow(orient=VERTICAL) # 创建PanedWindow对象 pw.pack(fill=BOTH,expand=True) top = Label(pw,text="Top Pane") # 创建标签Top Pane pw.add(top) # top标签插入Paned
  • 您可以尝试创建自定义主题.import tkinter as tkfrom tkinter import ttkroot = tk.Tk()mygreen = "#d2ffd2"myred = "#dd0202"style = ttk.Style()style.theme_create( "yummy", parent="alt", settings={"TNotebook...
  • 我正在尝试制作一个看起来不像tkinter应用程序的tkinter应用程序.我正在使用ttk笔记本,当选中时,标签在文本周围有一条小虚线.它看起来很糟糕,我找不到使用样式或配置删除它的方法.这是一个截图,以澄清:编辑代码(我...
  • Tkinter简介 (Introduction to Tkinter) There are multiple ways to interact with a program: either through the command line or through GUI. GUI is a desktop application that provides a user interface ...
  • 通过良好的、友善的可视化界面能提高感知和实用度,因此我这里继续使用tkinter库作为前端的展示开发库,在这里,我将使用ttk的Progressbar实现在统计过程中的等待交互窗口、使用notebook进行分TAB页显示,使用...
  • hms:使用tkinter的医院管理系统
  • Tkinter打造GUI开发工具(16)Tkinter、Ttk和Tix混合编程 前面我们学习了Tkinter的Toplevel、Frame、Label、Button等开发的知识,如果入门,再通过找参考资料学习其他小部件的编程,并不困难。我们后面随机抽取...
  • tkinter实用教程一》Linux 环境下安装tkintertkinter实用教程二》tkinter 子模块 ttk 《tkinter实用教程三》tkinter Button 控件 tkinter 的子模块 ttk 本文主要介绍 tkinter 子模块的特性,以及和原生 tkinter...
  • Ttk Notebook and PNotebook

    2020-12-05 03:59:38
    # Ttk Notebook and PNotebook如果在GUI窗口中选择,放置TNotebook并调整其大小,它将显示一个包含两页的笔记本,外观可能如下:![](https://img.kancloud.cn/42/e7/42e77f38973528e073f34d5deb859312_612x485.jpg)...
  • tkinter-designer

    2021-04-27 03:51:02
    TabStrip 选项卡控件,对应到Python的Notebook,需要启用TTK主题扩展(默认)。 如果要布局各个页面内的控件,按以下步骤: 每个选项页对应一个Frame或PictureBox,命名为:TabStrip的名字 加 '__Tab'(双下划线),...
  • 在开发过程中,我创建了简单的Tkinter UI来使用协议.每个协议都有一个新的UI.由于协议有很多命令,我在可滚动画布中实现了整个UI,以便在较小的显示器上使用时可以滚动它.单独的UI工作正常,我现在正在尝试将单独的UI...
  • tkinter可拖动可改变大小的组件

    千次阅读 2021-02-09 17:24:05
    使用tkinter写一个能够调整内部组件大小、可拖动的调节组件
  • jupyter Notebook环境搭建

    2020-12-08 19:12:33
    1、什么是jupyter notebookjupyter notebook是一种 Web 应用,能让用户将说明文本、数学方程、代码和可视化内容全部组合到一个易于共享的文档中。它可以直接在代码旁写出叙述性文档,而不是另外编写单独的文档。也...
  • tkinter.ttk中style的设置

    千次阅读 2021-03-15 14:11:35
    同一控件,ttk的样式会覆盖tk的样式。 tk中有,而ttk中没有的样式属性,按tk的方法设置,如‘sticky’在ttk就没有。 自定义的ttk样式有2部分组成,用’.'连接起来,如’myname.TRadiobutton‘,第一部分自己可以取名...
  • jupyter notebook是一个通过网页运行python的工具支持分段的python运行,并能直观的查看结果支持多python环境运行,需要加装(conda)1.下载Anaconda3,我选择了python3的64位版本2.windows安装3.进入命令行进行版本...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,087
精华内容 434
关键字:

notebooktkinter