gpt4 book ai didi

python - 我怎样才能在我的应用程序中制作小的股票图标?

转载 作者:太空宇宙 更新时间:2023-11-04 10:51:22 26 4
gpt4 key购买 nike

我的应用程序中有一个按钮,我希望它的尺寸​​为 23x23 像素,股票图标为 16x16 像素。

我想到了:

closeButton = gtk.ToolButton(gtk.STOCK_CLOSE)
closeButton.set_size_request(23, 23)

但是这段代码只改变了按钮的大小而不是图标的大小:/

如何缩放按钮上的股票图标?是否有任何小版本的库存商品?像 gtk.STOCK_SMALL_CLOSE 这样的东西?

编辑这是测试创建小库存项目的可能性的示例程序

import gtk

class Tab(gtk.VBox):
def __init__(self, caption):
gtk.VBox.__init__(self)
self.Label = self.__createLabel(caption)
self.show_all()

def __createLabel(self, caption):
hbox = gtk.HBox()
label = gtk.Label(caption)
hbox.pack_start(label, True, True)
closeButton = gtk.ToolButton(self._getCloseIcon())
hbox.pack_start(closeButton, False, False)
hbox.show_all()
return hbox

def _getCloseIcon(self):
raise NotImplementedError

class TabWithNormalIcons(Tab):
def __init__(self, caption):
Tab.__init__(self, caption)

def _getCloseIcon(self):
return gtk.STOCK_CLOSE

class TabWithImage16Icons(Tab):
def __init__(self, caption):
Tab.__init__(self, caption)

def _getCloseIcon(self):
return gtk.image_new_from_stock(gtk.STOCK_CLOSE, 16)

class TabWithSmallToolbarIcons(Tab):
def __init__(self, caption):
Tab.__init__(self, caption)

def _getCloseIcon(self):
return gtk.image_new_from_stock(gtk.STOCK_CLOSE, gtk.ICON_SIZE_SMALL_TOOLBAR)

class TabWithMenuIcons(Tab):
def __init__(self, caption):
Tab.__init__(self, caption)

def _getCloseIcon(self):
return gtk.image_new_from_stock(gtk.STOCK_CLOSE, gtk.ICON_SIZE_MENU)

class App(gtk.Window):
def __init__(self):
gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL)
self.connect('destroy', lambda event: gtk.main_quit())
self.set_default_size(640, 480)
notebook = gtk.Notebook()
tabNumber = 1

#Icon normal sizes
for i in range(3):
tab = TabWithNormalIcons('Tab %s' % str(tabNumber))
notebook.append_page(tab, tab.Label)
tabNumber += 1

#Icons with 16 pixel Image
for i in range(3):
tab = TabWithImage16Icons('Tab %s' % str(tabNumber))
notebook.append_page(tab, tab.Label)
tabNumber += 1

#Icons with small toolbar images
for i in range(3):
tab = TabWithSmallToolbarIcons('Tab %s' % str(tabNumber))
notebook.append_page(tab, tab.Label)
tabNumber += 1

#Icons with menu images
for i in range(3):
tab = TabWithMenuIcons('Tab %s' % str(tabNumber))
notebook.append_page(tab, tab.Label)
tabNumber += 1
self.add(notebook)
self.show_all()

a = App()
gtk.main()

最佳答案

set_size_request 仅定义您希望小部件具有的最小尺寸。所以实际上,它不会缩放子级,也不会阻止它在子级需要时增长。如果可以,那将不是您想要的:它仍会绘制大图标,但将其剪辑到按钮上。

所以您确实想要的是让您的库存商品具有不同的尺寸。我认为最简单的方法是创建一个 gtk.Image,您可以在其中指定库存大小。然后将该图像小部件插入您的按钮而不是股票值(value)。

所以在代码中:

image = gtk.image_new_from_stock (gtk.STOCK_CLOSE, gtk.ICON_SIZE_SMALL_TOOLBAR)
closeButton = gtk.Button ()
closeButton.add (image)
closeButton.set_size_request (23, 23)

关于python - 我怎样才能在我的应用程序中制作小的股票图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13659445/

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