我正在尝试创建带有圆角的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 ++代码...
在您的CSS中,将边框设置为1px的纯黑色,不应该是1px透明的吗?