wxwidgets
我最早了解到这种架构是几年前Firefox开始大肆流行,网上这类技术文章也大量涌现。当时也是很惊叹于Firefox的扩展机制如此灵活,却对它的开发环境很是鄙视,而且用于表述逻辑的脚本语言是用JS这个我完全没了解过的东西,所以看过介绍后,就丢到一边了。后来也偶尔听说WPF、XAML之类的东西,但对.NET一直没啥好感,于是也没研究
C语言可以通过调用图形库来实现图形化界面,常用的图形库有Microsoft Foundation Classes(MFC),OpenGL,Qt,wxWidgets,GTK+等。 Microsoft Foundation Classes(MFC)是微软提供的一种图形库,它可以帮助开发者快速构建出图形化界面,MFC提供了一系列的类和函数,可以实现对窗口、对话框、菜单、工具栏、控件等的创建和处理,开发者可以调用这些类和函数来构建出图形化界面。 OpenGL是一种用于绘制2D和3D图形的跨平台的应用程序编程接口(API),它可以为C语言开发者提供图形化界面的构建,开发者可以使用OpenGL的API来创建窗口,绘制图形,处理输入事件等,从而实现图形化界面
wxWidgets wxWidgets是一个程序开发框架/库, 允许你在Windows、Mac、Linux中使用相同的代码跨平台开发。它主要用C++写成,但也可以与其他语言绑定比如Python、Perl、Ruby。 本教程中我将向你展示如何在基于Debian的linux中如Ubuntu和Linux Mint中编译wxwidgets 3.0+
前面提到iconv转换编码搞得wxWidgets写成的程序在Scintilla刷新时崩溃,还以为是iconv引起的问题,于是决定使用ICU。 嗯,结果我错了,用ICU仍然有问题,有相同的问题,尽管我已经把这部分代码放到Lua中执行,对嵌入的Lua解释器,调用ICU4Lua,再调用ICU,仍然是Scintilla直接断言失败,然后崩溃,错怪iconv了! 经过一系列的尝试,最后发现只要把Scintilla的code page设成UTF-8就解决了,真是奇怪,原来设计936照理在本系统上也是正确的,它却仍把中文字符分成2,3部分显示。现在好了,连中文字符都作为1个字符显示了