首页 > 其他分享 >为什么要学习GTK?

为什么要学习GTK?

时间:2022-09-28 18:08:58浏览次数:49  
标签:为什么 MiniGUI 图形界面 GTK 学习 开发 Android 我们


开发图形界面的工具包有很多,windows有WPF、WinForm,Android有自带的SDK,IOS也有自己的一套,跨平台的话可以用Qt,结果发现,GTK真没它的用武之地。

实际上,GTK的地位真是这样的,那我们为啥学习它呢?

首先,GTK是C语言实现的。我们需要明白,对于C程序员而言,大部分都没有接触过图形界面编程,但是对于以后的发展,我们很有必要了解一下图形界面编程。那么问题又来了,我们是学C语言的,我们可能不太乐意学习面向对象语言(如 C++, Java, C#, Objective-C 等),现在市场上流行的图形界面工具库基本上都是用面向对象语言开发的。再者,对于我们 C 程序员,我们可能只需了解一下图形界面开发过程,并不一定以后从事图形界面开发。所以,GTK是一个很好的选择。

实际上,用C语言开发的图形库还有一个MiniGUI,在国内医疗设备应用非常广泛,相反,GTK在国内基本上没人用。但是,我们学习到的个别知识,以后未必一定能用上,对于我们而言,重要的是学习方法。如果觉得 MiniGUI 比 GTK 在国内应用广,就想学习 MiniGUI,那我们是否应该学Android,因为它应用更广。技术是不断的更新的,但是万变不离其宗。

其实,学习 MiniGUI 和 GTK 都差不多。区别在于 MiniGUI 是国内开发, GTK 国外开发的。

学习GTK,我们可以了解到图形界面开发的流程是怎么一个过程,这和 Android 应用开发差不多,假如,有那么一天我们真想做Android开发的工作,我们转过去也容易,因为我们有 C 语言的基础,也有图形界面的基础。

标签:为什么,MiniGUI,图形界面,GTK,学习,开发,Android,我们
From: https://blog.51cto.com/u_3002289/5720679

相关文章

  • GTK入门学习:glade的介绍
    上面的学习中,我们是通过纯C语言代码来进行GTK编程的,这也是我们学习GTK的最佳方法,因为这样我们可以清楚地知道整个流程,大体流程如下:1)创建主窗口,根据需要设置窗口的相应属性2)......
  • GTK进阶学习:GTK实现截图功能( 可以指定截图范围 )
    按按钮截图,图片保存在当前路径为“save.png”:#include<gtk/gtk.h>#include<cairo.h>/********************************************************功能:指定窗口区域截图,需......
  • GTK常用控件之图片控件( GtkImage )
    图片控件和标签的作用很类似,都是作为显示用的,只是图片控件显示的内容是图片。图片控件的创建:GtkWidget*gtk_image_new_from_file(constgchar*filename);filename:图片的......
  • 【学习笔记】InnoDB 和 MYISAM 的区别
    InnoDB和MYISAM的区别InnoDB和MYISAM是数据库引擎,也就是数据库表的类型INNODB现在默认使用MYISAM早些年默认使用 INNODB和MYISAM的区别 MY......
  • 跨模态学习能力再升级,EasyNLP电商文图检索效果刷新SOTA
    作者:熊兮、欢夏、章捷、临在导读多模态内容(例如图像、文本、语音、视频等)在互联网上的爆炸性增长推动了各种跨模态模型的研究与发展,支持了多种跨模态内容理解任务。在这些跨......
  • 购买投影仪之前的学习阶段
    重要参数:1.亮度流明:光源的亮度。ANSI流明:投影到幕布后的亮度。(有效参数,决定了白天是否可以使用)2.分辨率4K/1080P/720P标准分辨率:物理分辨率。如何判断分辨率可以看......
  • Python学习:property装饰器
    1.property装饰器:装饰器是在不修改被装饰对象源代码以及调用方式的前提下为被装饰对象添加新功能的可调用对象property是一个装饰器,是用来绑定给对象的方法伪造成一个数......
  • 【C++】关于智能指针的简单学习
    智能指针示例类:classString{private: stringm_value;public: String(stringstr):m_value(str){ cout<<"构造"<<m_value<<"\n"; } friendostream&o......
  • 【学习笔记】创建数据库表
    创建数据库表 我们以创建学生表为例,里面的字段有:id、姓名、性别、出生日期、email等。CREATETABLE`student`(`id`INT(10)NOTNULLAUTO_INCREMENTCOMMENT'......
  • java学习笔记31
    java面向对象回顾方法的定义修饰符返回类型packageoop;//类publicclassDemo01{  //main方法  publicstaticvoidmain(String[]args){     ......