GTK 3 C++按钮中带有标签的图标



我试图让一个图标与按钮中的标签一起出现,但似乎有一个覆盖正在进行,按钮只接受一个元素标签图标

这是我到目前为止所做的:

#include <gtkmm.h>
int main(int argc, char** argv)
{
auto app = Gtk::Application::create(argc, argv);
Gtk::Window* win = new Gtk::Window;
Gtk::Image* icon = new Gtk::Image;
icon->set("src/ui/icons/about.png");

Gtk::Button* btn = new Gtk::Button;
btn->set_label("Hello world");
btn->set_image(*icon);
win->add(*btn);
win->show_all();
return app->run(*win);
}

如何让图标和标签都显示在按钮中? 谢谢!

有一个全局范围的 Gtk 设置,gtk 按钮图像,发行版或用户可以使用它来设置应用程序的外观样式。当值为 false 时,Gtk 将隐藏也具有标签的按钮中的图像。

无论此系统设置如何,都可以通过调用 gtk_button_set_always_show_image 使按钮始终显示图像

下面是更新的示例:

#include <gtkmm.h>
int main(int argc, char** argv)
{
auto app = Gtk::Application::create(argc, argv);
Gtk::Window* win = new Gtk::Window;
Gtk::Image* icon = new Gtk::Image;
icon->set("src/ui/icons/about.png");

Gtk::Button* btn = new Gtk::Button;
btn->set_label("Hello world");
btn->set_image(*Gtk::manage(icon));
btn->set_always_show_image(true);
win->add(*Gtk::manage(btn));
win->show_all();
return app->run(*win);
}

最新更新