如何在gtk应用程序中隐藏控制台

cnd*_*cnd 5 windows gtk vala

例如,我有简单的gtk应用程序:

public class Application : Gtk.Window {
    public Application () {
        this.title = "Zaebis";
        this.window_position = Gtk.WindowPosition.CENTER;
        this.destroy.connect (Gtk.main_quit);
        this.set_default_size (170, 70);
        Gtk.Button button = new Gtk.Button.with_label ("Make everything zaebis");
        this.add (button);
        button.clicked.connect (() => {
            button.label = "Everything is zaebis now";
            });
        }
    public static int main (string[] args) {
        Gtk.init (ref args); (new Application ()).show_all ();
        Gtk.main (); return 0;
        }
    }
Run Code Online (Sandbox Code Playgroud)

我编译它valac --pkg gtk+-2.0 main.vala但是当我运行它时我也看到空控制台.如何不显示/隐藏此控制台并仅显示我的窗口?

Jer*_*aas 6

你在Windows中运行吗?

来自https://wiki.gnome.org/Vala/ValaOnWindows:

为了抑制GTK +应用程序的附加控制台窗口,您必须执行以下步骤:

  • 下载适用于MS-Windows的MinGW API
  • 将w32api-x.xx-mingw32-dev.tar.gz解压缩到Vala/MinGW安装目录
  • 将-X -mwindows传递给Vala编译器:

    valac -X -mwindows --pkg gtk+-2.0 hellogtk.vala
    
    Run Code Online (Sandbox Code Playgroud)