阅读更多

9顶
1踩

编程语言

翻译新闻 8 个免费实用的 C++ GUI 库推荐

2012-05-24 17:19 by 副主编 wangguo 评论(5) 有22652人浏览
GUI(Graphical User Interface,图形用户界面)是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。

本文整理了8个免费、实用的C++ GUI库,这些库可以帮助你在下一个项目中创建具有吸引力的、令人印象深刻的程序界面。

1.  Qt

Qt是一个跨平台应用和用户界面开发框架,它包括一个跨平台类库、集成开发工具和跨平台IDE。通过使用Qt,你可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。



2.  Fltk

FLTK(The Fast Light Toolkit),一个轻量级的GUI开发库。FLTK除了具有基本的GUI功能之外,还拥有其他一些特性,如跨平台、内置OpenGL、速度更快、尺寸更小、协议宽松等。FLTK可以在UNIX/Linux、Windows和Mac OS X平台上运行。



3.  Fox Toolkit

FOX是一个基于C++的工具,可以帮助你轻松、高效地开发GUI。它提供了一个广泛的控件集合,以及一些实用的功能,如拖放、选择以及用于3D图形操作的OpenGL部件。FOX还提供了图标、图像以及其他便利的功能,如状态栏帮助和提示等。



4.  Gpe Phone

GPE Phone是一个用于开发和部署基于GTK / GPE实现、兼容LIPS的软件栈。它包含了一套应用程序、库和文档,以帮助开发者针对移动电话和类似设备构建应用程序。



5.  LGI

LGI是一个GUI框架,用于抽象出你的可移植代码的所有操作系统依赖,它可以处理所有的图形界面函数、线程、信号量、网络连接和许多其他字节码,帮助开发者构建小型、快速和可靠的应用程序。



6.  Wx Windows

wxWidgets是一个C++库,帮助开发人员创建可运行于32位、64位的Windows、Mac OS X、Linux和UNIX上的应用程序,也可以用来创建移动平台上的应用程序,包括Windows Mobile、iPhone SDK和嵌入式GTK+等。



7.  Ultimate++

Ultimate++是一个基于C++的、跨平台快速应用开发框架,旨在提高程序员的生产力,它包括一系列库(GUI、SQL等)以及一个集成开发环境。



8.  Zoolib

ZooLib允许你使用单一代码库,来创建可运行于多个平台/处理器上的应用程序,部分应用可能需要很少的平台专属源码。ZooLib非常简单易用,你可以通过条件编译来轻松集成它。



原文:8 Free and Useful C++ GUI Libraries
  • 大小: 51.4 KB
  • 大小: 213 KB
  • 大小: 189.3 KB
  • 大小: 142.7 KB
  • 大小: 208.1 KB
  • 大小: 65.6 KB
  • 大小: 59.9 KB
  • 大小: 201.5 KB
9
1
评论 共 5 条 请登录后发表评论
5 楼 dieslrae 2012-05-27 01:10
mathgl 写道
里面真正好用,并且是广发应用的

就是qt & wxwidgets。不过后者要不是有wxpython,估计也不好用。

还是和Mfc用一堆macro 搞出来的事件处理,看了就头大。

是啊,wxPython写起来比较爽
4 楼 qimo601 2012-05-26 00:24
就用了Qt和MFC。感觉Qt更适合初学的。网络,数据库,图像处理,多线程模块,已经满足基本使用需求。
Qt更加面向对象,符合编程习惯,而且速度上比java要好的多。
Qt技术团队更新也很快,现在Qt5已经出来了,相信未来在嵌入式,医疗软件,手机软件等方向上肯定会有更广阔的前景。
3 楼 mathgl 2012-05-25 17:36
里面真正好用,并且是广发应用的

就是qt & wxwidgets。不过后者要不是有wxpython,估计也不好用。

还是和Mfc用一堆macro 搞出来的事件处理,看了就头大。
2 楼 jjcang 2012-05-25 12:13
qt无疑是最好的
1 楼 rainv 2012-05-24 18:58
只用过wxWidget,用来进行跨平台的快速开发还是可以的,文档全,插件库包含很多方面,如线程,网络,图像处理,特别是字符串处理是utf-8(unicode).使用原生控件,总体说还是不错的,开发的程序还挺稳定的。缺点就是国内的用的少?C++

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • delphi 写的全局钩子

    通过钩子监控键盘输入的内容,并把输入的内容保存到硬盘上面。

  • 【1.Delphi基础】1.Delphi程序设计入门

    1.DelphiXE程序设计入门 1.1Delphi简介 Delphi,是Windows平台下著名的快速应用程序开发工具(Rapid Application Development,简称RAD)。它的前身,即是DOS时代盛行一时的“Borland Turbo Pascal”,最早的版本由美国Borland(宝兰)公司于1995年开发。主创者为Anders Hejlsberg。经过数年的发展,此产品也转移至Embarcadero公司旗下。 Delphi是一个集成开发环境(IDE),使用的核心是由传统Pa

  • 【编程语言】Delphi使用教程

    Delphi是一个功能强大且灵活的编程语言,适用于构建各种Windows和跨平台应用程序。通过不断学习和实践,您可以充分利用Delphi提供的各种特性和工具来创建高质量、可维护且安全的软件解决方案。

  • Delphi入门

    ​var 变量名:数据类型;​不指定常量类型指定常量类型“子界”(Subrange)是 Pascal 语言中的一个概念,它允许程序员定义一个变量的取值范围,以确保该变量只接受特定范围内的值。这在编写安全和高效的代码时非常有用,因为它通过限制值的范围来减少错误的发生。子界类型可以用于整数、字符和枚举类型等。type子界名 = 下界..上界;

  • Delphi泛型结合接口的应用 (译自Delphi2009 Handbook)

                通过接受一个限定的参数,这个参数是实现某个接口的类,比较起直接接受泛型,而限制这个泛型的类要更加灵活。也就是通常所说的面向接口式的编程。这样可以达到调用实现了这个接口的各种泛型的实例。这种对泛型实用接口约束的应用,在.net框架中有很广泛的应用。下面是一个实例(命名为IntfConstraint)。            首先,需要声明一个接口:type IGetValue = interface ['{60700EC4-2CDA-4CD1-A1A2-07973D9D2444}'

  • delphi CXGRID用法 (取行、列值;定位选中某行等等)

    CXGRID用法(取行、列值;定位选中某行等等) DelphiCxgrid获取选中行列,排序规则,当前正在编辑的单元格内的值 cxGrid1DBTableView1.Controller.FocusedRowIndex当前行号 cxGrid1DBTableView1.Controller.FocusedRow当前行 cxGrid1DBTableView1.Cont...

  • delphi DrawText多行文本垂直居中

    procedure TForm1.Button4Click(Sender: TObject); var Text: string; R, TextRct: TRect; H: Integer; begin R := rect(10, 10, 200, 100); Canvas.Rectangle(R); Text := 'Demo Line 1'#13'Demo Line 2'#13'Demo Line 3'#13'Demo Line 4'; TextRct := R; H ...

  • Delphi6及SqlServer对于生僻字䶮的支持测试

    1.二进制SqlServer正像现场反馈的这样,后台字段只能以nvarhcar类型来保存,并且插入和更新的时候需要在字段前加’N’,例: update SF_BRXXK set hzxm=N’䶮’ 可参见:https://blog.csdn.net/chinahuyong/article/details/78558695 2.Delphi6当前的控件也无法显示该生僻字,需要安装TNT系...

  • IsDBCSLeadByte函数

    IsDBCSLeadByte函数用于用于判断一个字符是不是多字节字符,如果是返回一个非零数,如果不是返回零,利用它可以对字符串进行处理。下面用此函数提取汉字1”文件”—“new”—“Application”在窗体放置一个Edit 一个Label 一个Button按钮,设置Button的caption为提取汉字。2双击Button输入如下代码:procedure TForm1.Button1Click(Sender: TObject);var  len,j:integer;  s:string;  str:s

  • Delphi GDI对象之绘制文本

    基本绘图操作(Basic Drawing Operations) 现在大家已经知道Rectangle方法用来画正方形和矩形,Ellipse方法用来画圆和椭圆,MoveTo和LineTo方法则用来画线。 还有Arc方法用于画弧,Pie方法用于画饼形,一切一切都是非常基础的,没有太大的必要详细了解TCanvas的这些方法,下面开始更有趣的图形操作,这些图形操作在编写Delphi应用程序时很可能遇到...

  • DELPHI 修改系统分辨率

    unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; ...

  • Delphi 10.1 Berlin下TStringGrid单元格样式设定

    设定TStringGrid的DefaultDraw = true,系统自动给表格绘制默认的样式和效果。设定自定义格式前,先填充单元格的背景色,以清除原内容。 procedure TShowDetailForm.GridForwardDrawCell( Sender : TObject; ACol, ARow : Integer; Rect : TRect; State : TGridDraw

  • Delphi 虚拟桌面

    Delphi创建虚拟桌面实现后台调用外部程序 核心提示:最近在做的一个软件,其中有一部分功能需要调用其它的软件来完成,而那个软件只有可执行文件,根本没有源代码,幸好,我要做的事不难,只需要在我的程序启动后,将那个软件打开,在需要的时候,对其中的一个文本框设置一些文字,再点击一个按钮就可以了。... 最近在做的一个软件,其中有一部分功能需要调用其它的软件来完成,而那个软件只有可执行文件...

  • delphi数据集与记录

    1.1Delphi数据库应用程序的层次结构 Delphi数据库应用程序通过数据存取构件对数据库进行访问,通过可视的数据构件(Data Control)将数据呈现给用户,并与用户进行交互。Delphi数据库应用程序的结构如下图:   图 2‑1  Delphi数据库应用程序结构图 Delphi访问数据库可以分为三级: (1)、由ADO(Active Data Objec

Global site tag (gtag.js) - Google Analytics