Tag: gtk#

GTK中的LibVLC.NET#

我在GTK#中使用LibVLC.NET包装器。 我已经使用这个例子播放了video: LibVLCLibrary library = LibVLCLibrary.Load(null); IntPtr inst, mp, m; inst = library.libvlc_new(); // Load the VLC engine m = library.libvlc_media_new_location(inst, “path/to/your/file”); // Create a new item mp = library.libvlc_media_player_new_from_media(m); // Create a media player playing environement library.libvlc_media_release(m); // No need to keep the media now library.libvlc_media_player_play(mp); // play the media_player Thread.Sleep(10000); // Let it […]

Gtk#剪贴板复制/剪切/粘贴文件

如何使用Gtk#将文件复制,剪切和粘贴到剪贴板。 我看到的每个例子都只显示放入剪贴板的文本。 如果有人有一个例子,我会很感激。

如何设置Gtk.ComboBox的值?

我能想到的只是与ComboBox.GetEnumerator或类似的东西有关。 我想做的事情如下: System.Collections.IEnumerator e = this.task_difficulty_combobox.GetEnumerator(); while (e.MoveNext()) { if (e.ToString() == this.task.Difficulty.ToString()) { Gtk.TreeIter i = (Gtk.TreeIter)e.Current; this.task_difficulty_combobox.SetActiveIter(i); break; } } 但是,这不起作用。

跨平台线程和GTK#,无法正常工作?

我正在尝试使用C#,Linux上的单声道/ GTK#和Windows上的.NET / GTK#创建跨平台C#应用程序,但是在两个平台下启动顺序似乎需要略有不同: 在Linux下: public static void Main (string[] args) { Gdk.Threads.Init (); // etc… 在Windows下: public static void Main (string[] args) { Glib.Thread.Init (); Gdk.Threads.Init (); // etc… 两者都要求以这种方式完成:Windows抱怨g_thread_init()没有使用linux代码调用,并且linux抱怨已经使用Windows代码调用它。 除此之外,这一切都非常有效。 我对“解决方案”的第一次尝试看起来像: public static void Main (string[] args) { try { Gdk.Threads.Init (); } catch (Exception) { GLib.Thread.Init (); Gdk.Threads.Init (); } // etc… […]

如何从multithreading访问GUI(GTK)?

我有一个从GUI生成的工作线程(用于GUI性能),我如何访问GUI,例如从线程本身生成新的窗口/窗口小部件? 我尝试使用代理但它似乎没有工作。 有任何想法吗? 可能的例子? 谢谢。

Mono和Gtk的全球热键#

我正在尝试使用Mono在Linux中使用全局热键。 我找到了XGrabKey和XUngrabKey的签名,但我似乎无法让它们正常工作。 每当我尝试调用XGrabKey ,应用程序都会遇到SIGSEGV崩溃。 这是我到目前为止: using System; using Gtk; using System.Runtime.InteropServices; namespace GTKTest { class MainClass { const int GrabModeAsync = 1; public static void Main(string[] args) { Application.Init(); MainWindow win = new MainWindow(); win.Show(); // Crashes here XGrabKey( win.Display.Handle, (int)Gdk.Key.A, (uint)KeyMasks.ShiftMask, win.Handle, true, GrabModeAsync, GrabModeAsync); Application.Run(); XUngrabKey( win.Display.Handle, (int)Gdk.Key.A, (uint)KeyMasks.ShiftMask, win.Handle); } [DllImport(“libX11”)] internal […]