我们创建 example4.c ,内容如下: #include static void print_hello(GtkWidget *button , gpointer data...(app); gtk_window_set_title(GTK_WINDOW(window) , "grid test"); // gtk_window_set_default_size(...gtk_container_set_border_width(GTK_CONTAINER(window) , 20); gtk_container_add(GTK_CONTAINER(window...(gtk_widget_destroy) , window); gtk_grid_attach(GTK_GRID(grid) , button , 1 , 1 , 2 , 1);...gtk_grid_attach(GTK_GRID(grid) , button , 0 , 0 , 1 , 1); 该函数后面四个参数依次代表:第几行,第几列,横向跨度,纵向跨度。
实践中表明,纯粹利用 gtk 函数来创建 UI 是很繁琐的事,需要编写很多代码。怎样才能快速统一的建立 UI 布局呢? 可喜的是 GTK 提供了一个 GtkBuilder 用于快速创建界面。...( GTK_ENTRY(entry) ); if('\0' !...window = gtk_builder_get_object(builder , "window"); gtk_application_add_window(app , GTK_WINDOW(...button = gtk_builder_get_object(builder , "print_hello"); //设置按钮标签 gtk_button_set_label ( GTK_BUTTON...entry = gtk_builder_get_object(builder , "entry"); button = gtk_builder_get_object(builder
#include static void activate(GtkApplication *app , gpointer data); //从文件中加载一张图片 GdkPixbuf...(app); gtk_window_set_title(GTK_WINDOW(window) , "icon test"); gtk_window_set_default_size(GTK_WINDOW...(window) , 200 , 200); gtk_window_set_position(GTK_WINDOW(window) , GTK_WIN_POS_CENTER); //创建图标控件...icon icon = create_pixbuf("icon.png"); //为窗口设置图标 gtk_window_set_icon(GTK_WINDOW(window) ,...= gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL); gtk_container_add(GTK_CONTAINER(button_box) ,
在 GTK3 中增加了一个 GtkApplicaton 类,便于我们处理多窗口程序,同时有了 GtkApplication 我们也更容易创建灵活,易用,界面美观的应用程序。...MyApp myappwindow.c myappwindow.h : 封装的 MyAppWindow 采用这样的设计方式,主函数里面只需要一句话,main.c 内容如下: #include <gtk...() gtk_window_present (GTK_WINDOW(win)); } //处理命令行参数的函数原型 static void my_app_open (GApplication...( GTK_WINDOW(win) ); } //MyApp 类的初始化函数,在这里面即可复写MyApp类继承GtkAppliation类的默认信号处理函数。.../gtk.h> //my_app_get_type() 这些函数,我们虽然没写,但是在注册定义 MyApp 类型的时候根据填写的 my_app 会自动生成。
原本由于项目需求在 Linux 下学习过一段时间的 GTK+2.0 图形开发,时隔一段时间,想真正深入学习一下 GTK 。...这次直接从头学习 GTK+-3.0 ,并写下博文便于日后查看,也方便新手入门。...注意采用的是GTK3,上文中大部分是GTK2,注意同样的方式安装GTK3。 首先学习到的便是创建一个空白的窗口。我们创建一个名为 example.c 的源文件。...内容如下 1 #include //每个GTK程序都要包含的头文件,里面申明了很多类型,函数原型等 2 3 static void activate...(window) , "Application"); //设置窗口的标题 10 gtk_window_set_default_size(GTK_WINDOW(window
#include //点击按钮后被调用的函数,用于输出hello,world static void print_msg (GtkWidget *button , gpointer...(app); gtk_window_set_title(GTK_WINDOW(win) , "Button test"); gtk_window_set_default_size(GTK_WINDOW...(win) , 200 , 200); //创建一个盒容器,并设置水平放置 button_box = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL...); //gtk_orientation_horizontal //将盒容器包含进window中 gtk_container_add(GTK_CONTAINER(win) ,...(GTK_CONTAINER(button_box) , button); //显示window及其所有控件 gtk_widget_show_all(win); } int main
背景: 使用Linux系统已经有一段时间了,在管理系统是几乎都是使用命令行与内核交流的,使用虽多的就是Shell,其次就是python。...这两天突然心血来潮,想到了Linux PC端桌面程序,在我个人的熟悉语言中呢,python比较适合,不过、开发Linux桌面我只是玩玩的。...对于开发Linux桌面程序掌握Python的推荐使用Python Gtk3。 ...想玩出一个Linux基本桌面程序( 几乎没有业务逻辑 ),看完下面的( 重点是图片 | UI组件 ),大概就有一个底了! ---- 1、入门Hello word 源码code #!...(), "linked") button = Gtk.Button() button.add(Gtk.Arrow(Gtk.ArrowType.LEFT, Gtk.ShadowType.NONE
在使用 Xamarin 开发 Linux 应用的时候,刚开始如果没有弄好 libglib-2.0-0.dll 的依赖库,那么将会在运行的时候,在 Gtk.Application.Init() 这句代码提示找不到这个库...Unable to load DLL ‘libgtk-win32-2.0-0.dll · Issue #937 · mono/xwt Unable to load DLL ‘libgtk-win32-2.0...of /sources/gtk-sharp212 Xamarin.Forms/Xamarin.Forms.Platform.GTK at master · xamarin/Xamarin.Forms...jsuarezruiz/xamarin-forms-gtk-weather-sample: Xamarin.Forms GTK Backend Weather Sample windows - Xamarin...Studio, GTK 2.0 C# application, runtime error, can’t load libglib-2.0-0.dll - Stack Overflow
下载安装GTK+开发包 For GTK+2: 到 http://www.gtk.org/ 下载GTK+开发包,注意是下载all-in-one bundle,但不要下载2.24.10这个版本,因为该版本的开发包有严重...For GTK+3 gtk官方到目前为止还没有提供GTK+3的开发包和运行时,不过网上的很多大牛都自己编译了GTK+3的开发包, 你可以用google搜索!...环境变量设置主要包括以下几个: 变量名 变量值 GTK_HOME C:\gtk+ INCLUDE C:\gtk+\include LIB C:\gtk+\lib PATH C:\gtk+\bin --...-- 三:配置codeblock For GTK+2: 启动codeblock,点击"File"->"New"->"GTK+ Project"创建一个GTK+2项目....gtk+程序了,如果没有安装GTK+运行时,运行gtk+程序还会报错,这需要将C:\gtk+\bin下的所有DLL文件都复制到项目的bin\Debug目录下,之后就可以运行了。
默认安装的kde桌面使用gtk程序很难看,原因是没装主题 (KDE 4 Theme Integration with GTK Applications) 以下为在Archlinux中KDE美化gtk程序的方法...其它Linux发行版方法雷同。...To better integrate GTK and KDE 4 themes, you can use QtCurve and(or) oxygen-gtk 首先安装 QtCurve 或 oxygen-gtk...#pacman -S qtcurve-gtk2 qtcurve-kde4 gtk-kde4 然后安装 gtk-chtheme #pacman -S gtk-chtheme 打开 gtk-chtheme...更换主题即可 gtk-chtheme
问题重现# 在使用 libvirt 管理虚拟机时,有时会用到 virt-manager 提供的图形界面管理虚拟机,查看 vnc 输出等,但是常常会得到如下错误: (virt-manager:25381): Gtk-WARNING...**: 08:55:23.876: cannot open display: Linux 解决# 如果是在 Linux 桌面环境,解决方法很简单,只需要这样连接远程服务器就可以了: ssh -Y username...@ip 使用 -Y 参数实际上是授权了 X11 转发,这样就可以看到来自远端的 gtk 图形窗口了。...参考文献# 轻松解决远程链接的“Gtk-WARNING **: cannot open display;”或“Cannot connect to display;”问题 Ubuntu的中文乱码问题 [完美解决
2.3 判断构建是否是指定的构件 “ GTK_IS_构件名”系列宏用来判断构件是否是相应的构件 GTK_IS_BUTTON:用来判断构件是否是按钮 GTK_IS_NOTEBOOK:用来判断构件是否是笔记本构件
in java.library.path) /root/.swt/lib/linux/x86/libswt-pi-gtk-4234.so (libgtk-x11-2.0.so.0: cannot...in java.library.path) /root/.swt/lib/linux/x86/libswt-pi-gtk-4234.so (libgtk-x11-2.0.so.0: cannot...in java.library.path) /root/.swt/lib/linux/x86/libswt-pi-gtk-4234.so (libgtk-x11-2.0.so.0: cannot.../root/.swt/lib/linux/x86/libswt-pi-gtk-4234.so (libgtk-x11-2.0.so.0: wrong ELF class: ELFCLASS64) .../root/.swt/lib/linux/x86/libswt-pi-gtk-4234.so (libgtk-x11-2.0.so.0: wrong ELF class: ELFCLASS64)
Kindle底层的Linux比Android保持了更多的linux兼容性,可以使用GTK或者QT编写程序。...GTK及最基本的Linux应用更适合开发一些补丁性的小程序,来补充Kindle的基本功能。...在Ubuntu上搭建kindle的gtk开发环境非常简单,只需要一条命令: sudo apt-get install pkg-config gcc-arm-linux-gnueabi libgtk2.0...gtk+-2.0 --cflags --libs` 在电脑上执行....GCC=gcc ARMGCC=arm-linux-gnueabi-gcc ARMLIBS=`pkg-config gtk+-2.0 --cflags` -L/usr/arm-linux-gnueabi/
bbox = gtk_button_box_new (GTK_ORIENTATION_VERTICAL); gtk_container_set_border_width (GTK_CONTAINER...(bbox), 5); gtk_container_add (GTK_CONTAINER (frame), bbox); gtk_button_box_set_layout (GTK_BUTTON_BOX...window) { window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_screen (GTK_WINDOW...(GTK_CONTAINER (window), 10); main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add...(GTK_ORIENTATION_VERTICAL, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 10); gtk_container_add
:创建菜单条 gtk_menu_bar_append:往菜单条尾部添加菜单项 gtk_menu_bar_prepend:往菜单条首部添加菜单项 gtk_menu_bar_insert:往菜单条中指定的位置添加菜单项...:创建带有标签的菜单项 gtk_menu_item_new:创建一个菜单分隔条(菜单分隔条实际上是不带标签的菜单项) gtk_menu_item_set_submenu:将一个下拉菜单设置成指定菜单项的子菜单...:创建下拉菜单 gtk_menu_append:往下拉菜单尾部添加菜单项 gtk_menu_prepend:往下拉菜单首部添加菜单项 gtk_menu_insert:往下拉菜单中指定的位置添加菜单项...("文件"); gtk_menu_bar_append(GTK_MENU_BAR(menubar),menuitem); gtk_widget_show(menuitem); =============...(); gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem),menu); ========================================
pkg-config能根据软件安装时软件的.pc配置文件路径找到相应的头文件路径和库文件路径,如我的ubuntu12.04下默认安装glib-2.0后在 /usr/lib/i386-linux-gnu/...pkgconfig/ 路径下有glib-2.0.pc,其内容如下: prefix=/usr exec_prefix=${prefix} libdir=${prefix}/lib/i386-linux-gnu...:/usr/include/glib-2.0和/usr/lib/i386-linux-gnu/glib-2.0/include .so库文件安装路径为:/usr/lib/i386-linux-gnu...三、在ubuntu12.04下安装好glib-2.0和gtk+-2.0后,下面来看两个例子。...-o gtkbase `pkg-config --cflags --libs gtk+-2.0 gthread-2.0` ccf@ccf-F81Se:~/WorkPlace/gtk$ ls GTK2.0
领取专属 10元无门槛券
手把手带您无忧上云