I think you understood their comment wrong. In your code (e.g. label.add_css_class("green");
) you don’t use a dot, but in the CSS stylesheet. It works the same as with HTML/JS/CSS.
Auch bekannt als:
I think you understood their comment wrong. In your code (e.g. label.add_css_class("green");
) you don’t use a dot, but in the CSS stylesheet. It works the same as with HTML/JS/CSS.
Well, that’s CSS :D
Note that if you create a custom Widget class, you can set a CSS name, wich isn’t a CSS class and doesn’t use a leading dot.
Just use label.add_css_class()
, label.remove_css_class()
or label.set_css_classes()
and make sure to properly load your CSS style sheets, this is usually done by including them as a resource alongside .ui files and icons. If you are using libadwaita, you can also use its predefined style classes.
#!/usr/bin/env -S cargo +nightly -Zscript
---
[dependencies]
gtk = { package = "gtk4", version = "0.9.3", features = ["v4_12"] }
---
use gtk::{glib, prelude::*};
const STYLESHEET: &str = r#"
.green {
color: green;
}
.red {
color: red;
}
"#;
fn main() -> glib::ExitCode {
let app = gtk::Application::builder()
.application_id("org.example.HelloWorld")
.build();
app.connect_activate(|app| {
let window = gtk::ApplicationWindow::builder()
.application(app)
.title("Hello, World!")
.build();
// Stylesheets are usually bundled with application resources
// and automatically loaded
let css_provider = gtk::CssProvider::new();
css_provider.load_from_string(STYLESHEET);
gtk::style_context_add_provider_for_display(
&RootExt::display(&window),
&css_provider,
0
);
let box_ = gtk::Box::new(gtk::Orientation::Vertical, 6);
let label = gtk::Label::builder()
.label("Hello, World")
.css_classes(["green"].as_slice())
.build();
box_.append(&label);
let button = gtk::Button::builder()
.label("Toggle Color")
.build();
box_.append(&button);
button.connect_clicked(glib::clone!(#[weak] label, move |_| {
if label.has_css_class("red") {
label.add_css_class("green");
label.remove_css_class("red");
} else {
label.add_css_class("red");
label.remove_css_class("green");
}
}));
window.set_child(Some(&box_));
window.present();
});
app.run()
}
phyphox has an Audio Amplitude feature.
basic flyers & ads, restaurant menus
For this sort of things, LibreOffice Draw can be really good. I even used it in the past to create memes.
SPRIND GmbH is also known as „Bundesagentur für Sprunginnovationen“ and owned by the Federal Republic of Germany. See https://de.wikipedia.org/wiki/Bundesagentur_für_Sprunginnovationen and https://www.sprind.org
They even implemented it in Firefox: moz://a redirects to https://www.mozilla.org/en-US/about/manifesto/
I think Germany’s done it twice now.
It was Munich and they switched back to Windows after M$ moved their German headquarters to Munich.
./configure && make && sudo make install
is not the future
The error message is very detailed and there is nothing to add to it.
If you want to install an application/CLI tool, use
pipx
or your system package manager. If you want to install a library, use a virtual environment (e.g. by usingpython -m venv
) or your system package manager.