gpt4 book ai didi

python - 如何使 pygtk 中的选项卡可关闭?

转载 作者:太空狗 更新时间:2023-10-30 01:47:04 24 4
gpt4 key购买 nike

我正在使用 python 和 gtk,试图制作一个带有选项卡的简单文本编辑器,我还是新手,所以我想知道如何使选项卡可关闭和重新记录?在 qt 中要容易得多,但我更喜欢 gtk。这是我的代码:

import gtk
from tab import *

class Dash(gtk.Notebook):
def __init__(self):
super(gtk.Notebook,self).__init__()
self.defaultTab()

def defaultTab(self):
tab = Tab()
self.append_page(tab.child,tab.label)

另一个模块“选项卡”有一些变量:

from launchers import *

class Tab():
def __init__(self):
self.label = gtk.Label("New Tab")
self.type = "dash"
launchers = Launchers()
self.child = launchers

那我该怎么办?

最佳答案

在将新页面附加到 gtk.Notebook 时,您需要创建一个 gtk.HBox,而不是使用 gtk.Label包含 gtk.Labelgtk.Button。或多或少,像这样:

class Dash(gtk.Notebook):
...
def defaultTab(self):
self.append_page(tab.child,tab.header)
...
class Tab():
def __init__(self):
...
header = gtk.HBox()
title_label = gtk.Label()
image = gtk.Image()
image.set_from_stock(gtk.STOCK_CLOSE, gtk.ICON_SIZE_MENU)
close_button = gtk.Button()
close_button.set_image(image)
close_button.set_relief(gtk.RELIEF_NONE)
self.connect(close_button, 'clicked', self.close_cb)

header.pack_start(title_label,
expand=True, fill=True, padding=0)
header.pack_end(close_button,
expand=False, fill=False, padding=0)
header.show_all()
self.header = header
...

这只是为了显示关闭按钮。要真正关闭选项卡,您需要处理来自按钮的 clicked 信号。

关于python - 如何使 pygtk 中的选项卡可关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8850043/

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