在GTK-3应用程序中使用'border-radius'之后,窗口的角变为黑色,而不是透明的]]

问题描述 投票:0回答:1

我正在尝试创建带有圆角的GTK-3应用,并且正在尝试使用CSS的'border-radius'属性。但是边界角变黑了。是什么原因以及如何解决?

这里是文件“ main.cc”中的C ++代码:

#include <gtkmm/application.h>
#include <iostream>
#include <gtkmm.h>

int main (int argc, char *argv[])
{
  auto app = Gtk::Application::create(argc, argv, "org.gtkmm.example");

  Gtk::Window window;
  window.set_default_size(200, 200);

  Glib::RefPtr<Gtk::CssProvider> css_provider = Gtk::CssProvider::create();
  Glib::RefPtr<Gtk::StyleContext> styleContext = Gtk::StyleContext::create();

  try
  {
      css_provider->load_from_path("styles.css");
  }
  catch (/*Exeption &e*/...)
  {
      std::cout << "exeption " << std::endl;
  }

  styleContext->add_provider_for_screen(Gdk::Screen::get_default(), css_provider, GTK_STYLE_PROVIDER_PRIORITY_USER);

  return app->run(window);
}

这里是文件“ styles.css”中的CSS代码:

window
{
  border: 1px solid black;
  background: none;
  background-color : red;
  border-radius: 20px;
}

编译时

 g++ `pkg-config --cflags gtkmm-3.0` -o exampl main.cc `pkg-config --libs gtkmm-3.0`

我正在使用Ubuntu 18.04.3 LTS

这里是结果:https://i.stack.imgur.com/5OvV1.png我希望角落应该是透明的,没有黑色!

请帮助!

我正在尝试创建带有圆角的GTK-3应用,并且正在尝试使用CSS的'border-radius'属性。但是边界角变黑了。是什么原因以及如何解决?这是C ++代码...

c++ css gtk gtkmm cornerradius
1个回答
0
投票

在您的CSS中,将边框设置为1px的纯黑色,不应该是1px透明的吗?

© www.soinside.com 2019 - 2024. All rights reserved.