Python Gtk笔记本标签大小
我正在使用gtkNotebook在我的应用程序底部显示许多小部件。问题是,当标签显示时,它们占用了大量空间,总体上看起来很尴尬。我发现这是因为Python Gtk笔记本标签大小,python,user-interface,gtk,pygtk,Python,User Interface,Gtk,Pygtk,我正在使用gtkNotebook在我的应用程序底部显示许多小部件。问题是,当标签显示时,它们占用了大量空间,总体上看起来很尴尬。我发现这是因为gtk.ICON\u SIZE\u菜单比文本大,但我找不到任何更小的常数,我不想给它一个精确的像素大小,因为它可能会在不同的屏幕分辨率上出现混乱。有没有办法让按钮始终缩放到它旁边标签上文本的大小 下面是生成按钮的代码(它所在的hbox是选项卡显示的小部件): 我想你能做的就是 通过为笔记本标签提供自定义小部件 用于设置标签小部件的大小 查看以下示例是否适用
gtk.ICON\u SIZE\u菜单
比文本大,但我找不到任何更小的常数,我不想给它一个精确的像素大小,因为它可能会在不同的屏幕分辨率上出现混乱。有没有办法让按钮始终缩放到它旁边标签上文本的大小
下面是生成按钮的代码(它所在的hbox是选项卡显示的小部件):
我想你能做的就是
import gtk
import sys;
class TestNotebook(gtk.Notebook):
def __init__(self):
gtk.Notebook.__init__(self)
def add_new_tab(self, icon):
image = gtk.Image()
image.set_from_stock(icon, gtk.ICON_SIZE_DIALOG)
image.show_all()
tab_image = gtk.Image()
tab_image.set_from_stock(icon, gtk.ICON_SIZE_MENU)
box = gtk.HBox()
box.pack_start(tab_image, False, False)
box.pack_start(gtk.Label(icon), True, True)
# set tab size here
box.set_size_request(50, 50)
box.show_all()
self.set_current_page(self.append_page(image))
self.set_tab_label(image, box)
if __name__ == '__main__':
notebook = TestNotebook()
notebook.add_new_tab(gtk.STOCK_ABOUT)
notebook.add_new_tab(gtk.STOCK_ADD)
notebook.add_new_tab(gtk.STOCK_APPLY)
box = gtk.VBox()
box.pack_start(notebook)
window = gtk.Window()
window.resize(600, 400)
window.add(box)
window.show_all()
gtk.main()
sys.exit(0)
希望这能有所帮助,如果你只是想缩小关闭按钮,看看Epiphany是如何去除按钮周围的大部分填充物的
- (在PyGTK中,
是gtk_rc_parse_string
)李>gtk.rc_parse_string
- 在所有的关闭按钮上
(这是他们代码的稍旧版本;Ephy trunk使用GTK+3.0 CSS样式,但想法相同。)有没有办法知道只有文本的hbox的标准高度?我这么说是因为我不想仅仅根据我的分辨率来做尺寸请求,而是基于屏幕上的尺寸。希望这是有意义的。我想你可以检查Widget.size\u request()是否适合你,谢谢
import gtk
import sys;
class TestNotebook(gtk.Notebook):
def __init__(self):
gtk.Notebook.__init__(self)
def add_new_tab(self, icon):
image = gtk.Image()
image.set_from_stock(icon, gtk.ICON_SIZE_DIALOG)
image.show_all()
tab_image = gtk.Image()
tab_image.set_from_stock(icon, gtk.ICON_SIZE_MENU)
box = gtk.HBox()
box.pack_start(tab_image, False, False)
box.pack_start(gtk.Label(icon), True, True)
# set tab size here
box.set_size_request(50, 50)
box.show_all()
self.set_current_page(self.append_page(image))
self.set_tab_label(image, box)
if __name__ == '__main__':
notebook = TestNotebook()
notebook.add_new_tab(gtk.STOCK_ABOUT)
notebook.add_new_tab(gtk.STOCK_ADD)
notebook.add_new_tab(gtk.STOCK_APPLY)
box = gtk.VBox()
box.pack_start(notebook)
window = gtk.Window()
window.resize(600, 400)
window.add(box)
window.show_all()
gtk.main()
sys.exit(0)