我正在使用 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.Label
和 gtk.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/