问题描述
每次启动一个简单的GTK应用程序时,都会收到此警告:
GLib-GIO-WARNING **: HH:MM:SS.XXX: Your application does not implement g_application_activate() and has no handlers connected to the 'activate' signal. It should do one of these.
这是应用的完整代码:
extern crate glib;
extern crate gio;
extern crate gtk;
use gtk::prelude::*;
use gio::prelude::*;
use std::env::args;
fn build_ui(application: >k::Application) {
let builder = gtk::Builder::from_string(include_str!("ui.glade"));
let win: gtk::applicationwindow = builder.get_object("application_window").expect("err build win");
win.set_application(Some(application));
win.set_title("Test");
win.set_position(gtk::WindowPosition::Center);
win.show_all();
}
// Init app
fn main() {
if gtk::init().is_err() {
println!("Failed to initialize GTK.");
return;
}
let application = gtk::Application::new(
Some("com.github.gtk-rs.examples.cairotest"),Default::default(),)
.expect("Initialization Failed...");
application.connect_startup(move |app| {
build_ui(app);
});
application.run(&args().collect::<Vec<_>>());
}
我做错什么了吗? 是因为有林间空地建造者吗? 我尝试使用this method,但它使事情变得更糟:该应用仍然可以编译,但是输出引发了另一个严重错误:
GLib-GIO-CRITICAL **: HH:MM:SS.XXX: g_application_activate: assertion 'application->priv->is_registered' Failed
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)