原本由于项目需求在 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
我们创建 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
在 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 会自动生成。
#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) ,
#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
下载安装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
2.3 判断构建是否是指定的构件 “ GTK_IS_构件名”系列宏用来判断构件是否是相应的构件 GTK_IS_BUTTON:用来判断构件是否是按钮 GTK_IS_NOTEBOOK:用来判断构件是否是笔记本构件
问题重现# 在使用 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的中文乱码问题 [完美解决
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); ========================================
上一篇博文关于cairo的安装,使用过程中发现,画图还需要gtk等模块,所以需要继续安装。...我安装gtk的过程很是折腾啊,下载了好多版本,不同格式文件,但最终还是安装成功了,哈哈,现把安装过程记录如下: 1 .GTK+ runtime 首先我们需要安装GTK+ bundle,这里我们选择安装gtk...(3)在命令行下输入pkg-config –cflags gtk+-2.0,检测是否输出正常;在命令行下输入gtk-demo,检测是否可以工作。 2 ....3.测试一下吧 可以在IDLE交互命令窗口输入 import gtk window = gtk.Window() window.set_title("PyGTK Test Window"...) window.connect("destroy", gtk.main_quit) gtk.main() 如果出现一个窗口,那就都成功安装啦~yeah 本文作为自己学习过程中的记录,
Xlib、QT、GTK直接关系如下图: ? QT是直接使用xlib库的,GTK不能直接使用xlib,而是使用更低层的函数库GDK和Glib。...七、KDE、GNOME、QT和GTK直接关系 KDE和GNOME是窗口管理器,启动他们后我们进入了可视化操作(图形界面),既然需要显示图形,自然少不了与X协议的服务器软件打交道,既然QT和GTK进一步封装了...于是就有人开发出了gnome,用的是gtk库,这个库没有qt库在版权上的问题。...(qt库和gtk库就相当于windows下的MFC库) 同一个linux有不同版本的桌面,你可以都试试,就能感觉到kde和gnome的不一样了,比如 ubuntu 是gnome桌面,Kubuntu的就是...参考推荐: Linux桌面环境GNOME,KDE,XFCE,LXDE 比较 Linux桌面两大阵营 GNOME与KDE的战争 x11 gtk qt gnome kde 之间的区别和联系 Windows
(GTK_WINDOW_TOPLEVEL); 4 5 // 设置title文字,注意UTF8格式的文字转换,否则是乱码 6 gtk_window_set_title (GTK_WINDOW...(GTK_WINDOW (window), TRUE); 16 17 // 让窗口总在最前 18 gtk_window_set_keep_above(GTK_WINDOW (window...screen = gtk_window_get_screen( GTK_WINDOW( main_window)); 10 gtk_window_set_default_size( GTK_WINDOW...gtk_box_pack_start (GTK_BOX (box), image, FALSE, FALSE, 3); 24 gtk_box_pack_start (GTK_BOX...12 gchar *gtk_entry_get_text (GTK_ENTRY (entry)) 13 gtk_entry_set_text (GTK_ENTRY (entry), "XX
要用fedora开发gtk3,对系统的最低要求是:系统必须是fedora15即以上版本 安装gtk3开发环境命令: sudo yum groupinstall development-libs development-tools...), glade(界面设计工具),devhelp(查看帮助手册) sudo yum install anjuta glade3 devhelp 如果是用C语言开发: sudo yum install gtk3...gstreamer-devel clutter-devel webkitgtk3-devel libgda-devel gobject-introspection-devel 安装帮助手册: sudo yum install gtk3
领取专属 10元无门槛券
手把手带您无忧上云