Python Gtk Notebook通过按钮打开一个新选项卡

圣地亚哥角

我对OOP和gtk编程还很陌生,所以很抱歉,如果我的问题的答案确实很明显,但是我找不到解决方案。我正在尝试使用Gtk笔记本制作类似浏览器的界面。我写了一个添加标签的方法,由于在init中调用它时,它似乎可以工作,并且可以添加一个新标签。这里的方法是:

def create_page(self, button):
        print("creating a new page")
        print(self)
        self.newpage = Gtk.Box()
        self.newpage.set_border_width(50)
        self.newpage.add(Gtk.Label.new("add notes here"))
        self.notebook.append_page(self.newpage, Gtk.Label.new("new page")) 

该方法必须具有button参数的原因是因为我希望它由一个按钮调用,并且要使其发生,它必须具有button参数。

当按钮调用参数时,打印语句起作用,并打印其自身< main .MyWindow对象位于0x7efd64e52a80(main + MyWindow位于0xe60270)>。它打印出与从init调用时完全相同的输出。问题是由于某种原因,它实际上从未添加新的笔记本选项卡。这是我的完整代码:

import gi 
# Since a system can have multiple versions 
# of GTK + installed, we want to make  
# sure that we are importing GTK + 3. 
gi.require_version("Gtk", "3.0") 
from gi.repository import Gtk 
  
  
class MyWindow(Gtk.Window): 
    def __init__(self): 
        Gtk.Window.__init__(self, title ="Stickies Hub") 
        #self.set_border_width(70) 
  
        # Create Notebook 
        self.notebook = Gtk.Notebook.new() 
        self.add(self.notebook) 
        #create buttons
        self.new_tab = Gtk.Button(label=("button"))
        self.new_tab.connect("clicked", self.create_page)
        # Create pages
        self.page1 = Gtk.Box()
        self.page1.set_border_width(50) 
        self.page1.add(Gtk.Label.new("Welcome to Geeks for Geeks")) 
        self.notebook.append_page(self.page1, Gtk.Label.new("Click Here")) 
  
        self.page2 = Gtk.Box() 
        self.page2.set_border_width(50) 
        self.page2.add(Gtk.Label.new("A computer science portal for geeks"))
        self.page2.add(self.new_tab) 
        self.notebook.append_page(self.page2, Gtk.Label.new("Click Here"))
        self.create_page(self.new_tab)
        self.create_page(self.new_tab)
        

    def create_page(self, button):
        print("creating a new page")
        print(self)
        self.newpage = Gtk.Box()
        self.newpage.set_border_width(50)
        self.newpage.add(Gtk.Label.new("new page"))
        self.notebook.append_page(self.newpage, Gtk.Label.new("new page")) 
  
  
win = MyWindow() 
win.connect("destroy", Gtk.main_quit) 
# Display the window. 
win.show_all() 
# Start the GTK + processing loop 
Gtk.main() 

如何从按钮添加新的笔记本选项卡?非常感谢您的帮助!

圣地亚哥角

正如jackw11111所说,解决方案是在create_page函数的末尾添加self.show_all()。非常感谢!

我做了一个答案,所以遇到同样问题的任何人都可以轻松找到答案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

单击链接按钮时打开一个新选项卡

来自分类Dev

单击按钮打开一个新选项卡

来自分类Dev

打开一个新选项卡,但应作为保存搜索的后退按钮

来自分类Dev

如何更改Gtk.Notebook选项卡

来自分类Dev

隐藏Gtk :: Notebook页面内容,而不隐藏选项卡

来自分类Dev

如何更改Gtk.Notebook选项卡

来自分类Dev

Python GTK:使用另一个按钮将一个按钮添加到GUI

来自分类Dev

cmder:在已打开的选项卡的目录中打开一个新的选项卡

来自分类Dev

在gnome-terminal中打开一个新选项卡,并使其通过ssh自动连接

来自分类Dev

使用 Python GTK3 Gtk.Application 打开多个应用程序窗口的正确方法

来自分类Dev

在同一目录中打开一个新选项卡

来自分类Dev

按下<Down>在Konsole中打开一个新选项卡

来自分类Dev

如果SQL查询成功,则打开一个新选项卡

来自分类Dev

使Ctrl + t在chrome之外时打开一个新的(chrome)选项卡

来自分类Dev

如何使html搜索栏打开一个新选项卡以显示结果

来自分类Dev

打开一个新的浏览器选项卡

来自分类Dev

按下<Down>在Konsole中打开一个新选项卡

来自分类Dev

使Ctrl + t在chrome之外时打开一个新的(chrome)选项卡

来自分类Dev

在屏幕上当前位置打开一个新选项卡

来自分类Dev

尝试使用带有函数的 JS 打开一个新选项卡

来自分类Dev

如何在 PowerShell 6 中打开一个新选项卡?

来自分类Dev

Applescript:从显示对话框中打开一个新的 Safari 选项卡

来自分类Dev

如何在Python gtk中将hboxes和vboxes代码添加到笔记本选项卡

来自分类Dev

如何在python gtk中将hboxes和vboxes代码添加到笔记本选项卡

来自分类Dev

首选项窗口关闭时销毁 - Glade、Gtk、Python

来自分类Dev

打开一个选项卡时如何删除其他选项卡

来自分类Dev

GTK3 Python更改单按钮颜色

来自分类Dev

带有图像和标签的Python GTK3按钮

来自分类Dev

如何将按钮的值存储在变量中?(Python Gtk)

Related 相关文章

  1. 1

    单击链接按钮时打开一个新选项卡

  2. 2

    单击按钮打开一个新选项卡

  3. 3

    打开一个新选项卡,但应作为保存搜索的后退按钮

  4. 4

    如何更改Gtk.Notebook选项卡

  5. 5

    隐藏Gtk :: Notebook页面内容,而不隐藏选项卡

  6. 6

    如何更改Gtk.Notebook选项卡

  7. 7

    Python GTK:使用另一个按钮将一个按钮添加到GUI

  8. 8

    cmder:在已打开的选项卡的目录中打开一个新的选项卡

  9. 9

    在gnome-terminal中打开一个新选项卡,并使其通过ssh自动连接

  10. 10

    使用 Python GTK3 Gtk.Application 打开多个应用程序窗口的正确方法

  11. 11

    在同一目录中打开一个新选项卡

  12. 12

    按下<Down>在Konsole中打开一个新选项卡

  13. 13

    如果SQL查询成功,则打开一个新选项卡

  14. 14

    使Ctrl + t在chrome之外时打开一个新的(chrome)选项卡

  15. 15

    如何使html搜索栏打开一个新选项卡以显示结果

  16. 16

    打开一个新的浏览器选项卡

  17. 17

    按下<Down>在Konsole中打开一个新选项卡

  18. 18

    使Ctrl + t在chrome之外时打开一个新的(chrome)选项卡

  19. 19

    在屏幕上当前位置打开一个新选项卡

  20. 20

    尝试使用带有函数的 JS 打开一个新选项卡

  21. 21

    如何在 PowerShell 6 中打开一个新选项卡?

  22. 22

    Applescript:从显示对话框中打开一个新的 Safari 选项卡

  23. 23

    如何在Python gtk中将hboxes和vboxes代码添加到笔记本选项卡

  24. 24

    如何在python gtk中将hboxes和vboxes代码添加到笔记本选项卡

  25. 25

    首选项窗口关闭时销毁 - Glade、Gtk、Python

  26. 26

    打开一个选项卡时如何删除其他选项卡

  27. 27

    GTK3 Python更改单按钮颜色

  28. 28

    带有图像和标签的Python GTK3按钮

  29. 29

    如何将按钮的值存储在变量中?(Python Gtk)

热门标签

归档