gpt4 book ai didi

python - 锚定笔记本选项卡,使其位置无法更改

转载 作者:太空狗 更新时间:2023-10-30 02:22:39 25 4
gpt4 key购买 nike

我有一个 GtkNotebook,它至少包含一个永久选项卡,称为“搜索”。此页面中的小部件允许创建更多页面,并且这些页面有一个包含关闭按钮的选项卡。

如何使选项卡可重新排序,同时将“搜索”选项卡固定在位置 0? gtk.Notebook.set_tab_reorderable() 的当前行为是它允许您物理拖动选项卡以对其重新排序......当可重新排序的选项卡移过它时,它不会阻止该选项卡被迫重新排序。

例子:

第一张图片是默认位置:

enter image description here

此图像是拖动 Row#6 的结果(其中 Row#6 是可重新排序的,但 Search 不是): enter image description here

如何防止“搜索”被“可重新排序”标签重新排序?

最佳答案

在我看来,一个可能的解决方案是像这样连接到 'page-reordered' 信号:

import gtk

def on_reorder(notebook, child, number, user_data):
if number == 0:
notebook.reorder_child(user_data, 0)

def main():
mainwin = gtk.Window()
notebook = gtk.Notebook()
mainwin.add(notebook)
mainwin.set_default_size(200,200)
for label in ['Search', 'Row#6', 'Row#9']:
child = gtk.VBox()
notebook.append_page(child, gtk.Label(label))
if label != 'Search':
notebook.set_tab_reorderable(child, True)
else:
notebook.set_tab_reorderable(child, False)
searchtab = notebook.get_nth_page(0)
notebook.connect('page-reordered', on_reorder, searchtab)

mainwin.show_all()
mainwin.connect('destroy', gtk.main_quit)
gtk.main()

if __name__ == "__main__":
main()

希望对您有所帮助。

关于python - 锚定笔记本选项卡,使其位置无法更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9369614/

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