gpt4 book ai didi

python-3.x - 检查 gtk.notebook 中定义文本的选项卡是否存在 +gtk3

转载 作者:行者123 更新时间:2023-12-04 17:47:04 25 4
gpt4 key购买 nike

是否有检查 gtk.notebook 中是否有带有定义文本的选项卡的功能?刚找到函数“get_menu_label_text ()”,但它只是从它的传输子项返回选项卡的文本。

只是想知道是否有已经创建的选项卡,所以我不必再次创建它。

很简单,但找不到合适的解决方案。

最佳答案

不知道为什么你需要这样的功能,因为开发人员应该知道笔记本上发生了什么,因此,它变得“可追踪”。

无论如何,有一些方法,比如用 get_n_pages() 获取页数,用 get_nth_page() 获取第 n 页的 child 在 for 循环中并调用 Gtk.Notebook get_tab_label_text(child)方法。

另一种选择是使用 Gtk.Container foreach方法(Gtk.Notebook 继承自 Gtk.Container)并遍历所有子项并获取选项卡标签文本并将其与搜索文本进行比较。

以下非常简单的示例创建了一个包含未引用文本标签的两页笔记本,然后我们简单地验证笔记本标签标签中是否存在某些标签。

例子:

import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk

class MyWindow(Gtk.Window):

def __init__(self):
Gtk.Window.__init__(self, title="Simple Notebook Example")
self.set_border_width(3)

self.notebook = Gtk.Notebook()
self.add(self.notebook)

self.page1 = Gtk.Box()
self.page1.set_border_width(10)
self.page1.add(Gtk.Label('This is Gtk.Notebook Page X'))
self.notebook.append_page(self.page1, Gtk.Label('Page X'))

self.page2 = Gtk.Box()
self.page2.set_border_width(10)
self.page2.add(Gtk.Label('This is Gtk.Notebook Page Y'))
self.notebook.append_page(self.page2, Gtk.Label('Page Y'))

def check_exists_tab_with_label(self, label):
self.notebook.foreach(self.check_label_for_child, label)

def check_label_for_child(self, widget, label):
if (self.notebook.get_tab_label_text(widget) == label):
print ("FOUND")

win = MyWindow()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
win.check_exists_tab_with_label('Page Y')
Gtk.main()

关于python-3.x - 检查 gtk.notebook 中定义文本的选项卡是否存在 +gtk3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47996262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com