Python 3.x 我可以直接将徽标放在Gtk标题栏上吗?(不带小部件)

Python 3.x 我可以直接将徽标放在Gtk标题栏上吗?(不带小部件),python-3.x,gtk3,graphical-logo,Python 3.x,Gtk3,Graphical Logo,我正试图在Gtk.Headerbar上直接用徽标代替标题。徽标是用microsoft word创建的。 下面是我的代码部分 类主窗口(Gtk.Window): “”“包含笔记本的主窗口”“” def初始化(自身): Gtk.Window.init(self,title=”“)#由于标题为空,因此默认标题栏带有Python图标 自行设置边框宽度(10) screen=self.get_screen() screen\u width=screen.get\u width() 屏幕高度=屏幕高度()

我正试图在Gtk.Headerbar上直接用徽标代替标题。徽标是用microsoft word创建的。 下面是我的代码部分

类主窗口(Gtk.Window): “”“包含笔记本的主窗口”“” def初始化(自身): Gtk.Window.init(self,title=”“)#由于标题为空,因此默认标题栏带有Python图标 自行设置边框宽度(10) screen=self.get_screen() screen\u width=screen.get\u width() 屏幕高度=屏幕高度()


现在我正在使用Gtk.Image小部件作为徽标。我可以用html直接在代码中设计徽标吗?

我明白了!我们无法将徽标直接放在GTK3中的任何小部件上。唯一的方法是在标题栏顶部添加图像小部件

   self.header_bar = Gtk.HeaderBar()
    self.header_bar.props.title = "Pareto"

    self.header_bar.set_show_close_button(True)
    pareto_logo =  Gtk.Image.new_from_file(r"loc\image.png")
    self.header_bar.pack_start(pareto_logo)

我明白了!我们无法将徽标直接放在GTK3中的任何小部件上。唯一的方法是在标题栏顶部添加图像小部件

   self.header_bar = Gtk.HeaderBar()
    self.header_bar.props.title = "Pareto"

    self.header_bar.set_show_close_button(True)
    pareto_logo =  Gtk.Image.new_from_file(r"loc\image.png")
    self.header_bar.pack_start(pareto_logo)
图像的透明度仅为30%(使用gimp不透明度)

图像的透明度仅为30%(使用gimp不透明度)

# set Background Image using CSS
import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk, Gdk, Gio
from random import randint

class MyCSSThemedWindow(Gtk.Window):
    def __init__(self):
        Gtk.Window.__init__(self, title="Background Image Demo")
        self.hb = Gtk.HeaderBar()
        self.hb.set_show_close_button(True)
        self.hb.props.title = "Background Image on Button, Headerbar and Window"
        self.set_titlebar(self.hb)

        self.hb_menu_button = Gtk.Button()
        icon = Gio.ThemedIcon(name="open-menu-symbolic")
        image = Gtk.Image.new_from_gicon(icon, Gtk.IconSize.BUTTON)
        self.hb_menu_button.add(image)
        self.hb_menu_button.set_name("styled_button") #for button on headerbar
        self.hb.pack_end(self.hb_menu_button)
        
        #self.hb.set_show_close_button(False)
        #self.hb_menu_button.set_relief(Gtk.ReliefStyle.NONE)

        self.set_border_width(15)
        self.set_default_size(800, 500)

        self.hbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=0)
        self.add(self.hbox)
    
      
        screen = Gdk.Screen.get_default()
        provider = Gtk.CssProvider()
        style_context = Gtk.StyleContext()
        style_context.add_provider_for_screen(screen, provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)

        # see https://developer.gnome.org/gtk3/stable/chap-css-overview.html for gradient etc effects
        css = b"""
        #styled_button {
            
            background-image: url('./nuwallpaper.jpg');
        }
        radiobutton:checked {
            background-color: #56f9a0;
        }
        headerbar {
        background-image: url('./nuwallpaper.jpg');
        background-position: left top;
        }
        window.background {
            background-image: url('./nuwallpaper.jpg');
        background-size: contain;
        background-position: left top;
        border: 0px solid black;
        }
        
        """
        
        provider.load_from_data(css)
        




# Main Program
win = MyCSSThemedWindow()
win.connect("destroy", Gtk.main_quit)
win.show_all()
Gtk.main()