MFC和GTK的区别】的更多相关文章

关键技术 http://blog.csdn.net/master_max/article/details/1540204 MFC和GTK的区别?? 1. 两者都是基于面向对象设计的.尽管MFC是用C++写的,而GTK+是用C写的,但思想都是面向对象的.GTK+使用glib的对象机制,由于用C写的,其实现相对有点繁琐. 2. 两者都是基于消息驱动的.这是GUI系统的共性,消息可以是硬件上报的,如鼠标事件.键盘事件和触摸屏等等,也可以是程序产生,如一个窗口给另外一个窗口 发送了一个消息.但两者并不完…
组件(Component)和对象(Object)之间的区别 先明确组件(Component)和对象(Object)之间的区别.组件是一个可重用的模块,它是由一 组处理过程.数据封装和用户接口组成的业务对象(Rules Object).组件看起来像对象,但不符合对象的学术定义.它们的主要区别是: 组件可以在另一个称为容器(有时也称为承载者或宿主)的应用程序中使用,也可以作为独立过程使用: 组件可以由一个类构成,也可以由多个类组成,或者是一个完整的应用程序: 组件为模块重用,而对象为代码重用.现在,…
注:引用来源 http://wenda.chinabaike.com/b/30934/2013/1208/707410.html QT使用的编译器是MinGW,即Linux下的GCC移植到windows的版本:MFC使用的编译器是Visual C++ QT的应用主要在Linux下,但是它本身是跨平台的,也支持其他操作系统,是现在比较著名的界面库,著名的KDE就是使用QT开发的.MFC是提供给VC的,但是它主要是代码库,不像VCL和编译器挂钩很多,但是MFC主要是对windows API的封装,所…
原文转自 https://www.cnblogs.com/zhwl/archive/2012/11/29/2794509.html ATL是ActiveXTemplateLibrary的缩写,它是一套C++模板库.使用ATL能够快速地开发出高效.简洁的代码,同时对COM组件的开发提供最大限度的代码自动生成以及可视化支持.为了方便使用,从MicrosoftVisualC++5.0版本开始,Microsoft把ATL集成到VisualC++开发环境中.1998年9月推出的VisualStudio6.…
ATL用于编写COM程序,CLR是.NET的公共语言运行库,MFC是指MFC类库,MFC程序是用这些类库做出的程序,WIN32常规就是不用 MFC,使用API函数编的程序. MFC.ATL和CLR是VC2005内置的3大库,涵盖了windows的各种开发方法和开发应用.当然关于C++开发的库不止这3个,不过这3个是微 软推荐.从编程所处层次而言,WIN32为最底层,其次是MFC.然后是CLR. WIN32 winAPI MFC MFC类库 CLR .net库 1. WIN32常规就是不用MFC,…
Invalidate()函数是强制系统进行重画,但是不一定就马上进行重画.因为Invalidate()只是通知系统,此时的窗口已经变为无效.强制系统调用WM_PAINT,而这个消息只是Post就是将该消息放入消息队列.当执行到WM_PAINT消息时才会对敞口进行重绘. 类似的还有下面的两个函数:UpdateWindow()只向窗体发送WM_PAINT消息,在发送之前判断GetUpdateRecthWnd,NULL,TRUE)看有无可绘制的客户区域,如果没有,则不发送WM_PAINT. Redra…
Spring中的新名称也太多了吧!IOC/DI/MVC/AOP/DAO/ORM... 对于刚刚接触spring的我来说确实晕了头!可是一但你完全掌握了一个概念,那么它就会死心塌地的为你服务了.这可比女人忠诚多了. 在这里我们来说侃下MVC吧!嗯!MVC设计模型和MVC框架之区别. 一组概念需要先理解,因为后面需要用:   架构:简单的说架构就是一个蓝图,是一种设计方案,将客户的不同需求抽象成为抽象组件,并且能够描述这些抽象组件之间的通信和调用.   框架:软件框架是项目软件开发过程中提取特定领域…
[转]VC++中操作XML(MFC.SDK) XML在Win32程序方面应该没有在Web方面应用得多,很多Win32程序也只是用XML来存存配置信息而已,而且没有足够的好处的话还不如用ini.VC++里操作XML有两个库可以用:MSXML和XmlLite.MSXML又细分了两种接口:DOM和SAX2.XP没自带有XmlLite,只自带有2.x.3.x版的MSXML,不支持SAX2(需要MSXML 4.0以上),所以优先使用DOM.DOM是以COM形式提供的,VC++里调用DOM可以分3种方法:1…
1.常规DLL可以被各种程序(python,VB等)调用,扩展DLL只能被MFC程序调用.提供给外部使用的控件类只能用扩展DLL. 2.扩展DLL的入口函数是DllMain(),而常规DLL入口是继承自CWinApp的一个类,无消息循环. 3.常规DLL只能导出c++类,c++函数,c++类型的变量参数,不能导出MFC类和MFC类型变量,但是在dll内部可以使用MFC相关的类和变量: 扩展DLL可以导出mfc的类,使用MFC变量. 4.扩展mfc导出类一般有用宏AFX_EXT_CLASS 5..…
XML在Win32程序方面应该没有在Web方面应用得多,很多Win32程序也只是用XML来存存配置信息而已,而且没有足够的好处的话还不如用ini.VC++里操作XML有两个库可以用:MSXML和XmlLite.MSXML又细分了两种接口:DOM和SAX2.XP没自带有XmlLite,只自带有2.x.3.x版的MSXML,不支持SAX2(需要MSXML 4.0以上),所以优先使用DOM.DOM是以COM形式提供的,VC++里调用DOM可以分3种方法:1.MFC里用CComPtr调用2.SDK里直接…
1,概述 原文地址:http://blog.csdn.net/awebkit/article/details/8493716 浏览器处理事件一般有两个过程,捕获过程和冒泡过程,这是由addEventListener的第三个参数决定的. 基本事件流 每个事件都对应一个事件目标(EventTarget)(也是一个node 节点),EventTarget 有event 的target 属性指定. 每个事件目标注册有若干事件监听者(EventListerner), 这些监听者在事件到达后激活,激活的顺序…
1.概述: 相信不少前端从业者,都会遇到MVC编程模式,现今多数轻量级网站用php作为后台交互,MVC编程模式用于JAVAWEB开发,应用类型以系统占多数(包括并不限于系统,电商网站,平台交互当然都能实现),这里主要是我接触到的MVC是应用与系统的,有很大程度上的个人局限性,欢迎各位朋友交流指正. 2.简述: MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的…
MVC框架 同义词 MVC一般指MVC框架 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面 显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑.MVC被独特的发展起来用于 映射传统的输入.处理和输出功能在一个逻辑的图形化用户界面的结构中. 简介 MVC开始是存在于桌面程序中的,M是指业务模型,V是指用…
该文章整理自 网易博客 http://blog.163.com/net_worm/blog/static/12770241920101831312381/ 转载请注明出处 WebKit是QT4新整合的第三方构件.按照惯例动手分析之前,先了解大概 WebKit由三个模块组成:JavaScriptCore.WebCore 和 WebKit WebKit作为了整个项目的名称.其目录结构:(未校准) WebCore: ¨Page与外框相关的内容(Frame,Page,History,Focus,Wind…
2009-07-25 12:37:51   GTK+       ● GTK+的网站:www.gtk.org:     ● GTK+原本是Gimp的一个工具库,是在LGPL协议下发布的Unix系统GUI库:     ● GTK+已经被移植到Windows,VMS以及其他的系统上面(在MacOS X上面现在可以通过苹果的X11应用程序实现,其本地版本正在开发之中),使用相同的API.但是,GTK+的设计初衷是Unix,多平台的开发是后来才加入的:     ● GTK+是GNOME用户界面的原始构建…
该文章整理自 网易博客 http://blog.163.com/net_worm/blog/static/12770241920101831312381/ 转载请注明出处 WebKit是QT4新整合的第三方构件.按照惯例动手分析之前,先了解大概 WebKit由三个模块组成:JavaScriptCore.WebCore 和 WebKit WebKit作为了整个项目的名称.其目录结构:(未校准) WebCore: ¨Page与外框相关的内容(Frame,Page,History,Focus,Wind…
ylbtech-架构:MVC MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑.MVC被独特的发展起来用于映射传统的输入.处理和输出功能在一个逻辑的图形化用户界面的结构中. 1.返回顶部 1. 简介 MVC开始是存在于桌面程序中的,M是指业务模型,V是指…
[为什么使用Python] 1. 软件质量:   Python更注重软件质量,一致性,可维护性 2. 开发效率:   相比C/C++/Java这些编译/静态语言,无需编译及链接步骤,Python所须要的代码仅仅有其1/5到1/3, 3. 可移植性:   程序不需做不论什么修改.可在不论什么平台执行 4. 标准库支持: 标准库及第三方库许多 5. 组件集成:   能够集成机制非常方便的与其它部分进行通信,C/C++/Java/,及.COM..NET进行通信 6. 好玩:       易用性及强大的…
MVC 模式 MVC 模式(三层架构模式) MVC模式(Model-View-Controller, MVC): 是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Controller). MVC模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能.除此之外,此模式通过对复杂度的简化,使程序结构更加直观.软件系统通过对自身基本部份分离的同时也赋予了各个基本部分应有的功能.专业人员可以通过自身…
框架有哪些?C++语言的QT.MFC.gtk,Java语言的SSH,php语言的 smarty(MVC模式),python语言的django(MTV模式)等等设计模式有哪些?工厂模式.适配器模式.策略模式等等简而言之:框架模式是大智慧,用来对软件设计进行分工:设计模式是小技巧,对具体问题提出解决方案,使得代码复用率和耦合度降低. SSH Struts(Struts MVC)+Spring+Hibernate MVC 之前的项目比较简单,多是用JSP .Servlet + JDBC 直接搞定,在项…
我的理解: QT做应用软件可以很强大,界面足够漂亮(最有意思的是QSS,让我刮目相看),应该是足够了.同时QT也提供了源码,不过超级复杂,难以理解,所以还是无法深入底层.另外它提供了一个额外的好处,就是MAC软件编程不用学COCOA这些太偏门的框架和语言.工作机会不算多但也不算少,总体来说,值得一学. 对于我来说,配置Java烦不胜烦,且Java不深入系统底层,Java还不利于个人开发桌面软件创造财富.能在这个公司不做Java,不做很偏门的产品,不使用偏门的语言,还有钱挣,已经很不错了.何况QT…
摘要:VC++中操作XML XML在Win32程序方面应该没有在Web方面应用得多,很多Win32程序也只是用XML来存存配置信息而已,而且没有足够的好处的话还不如用ini.VC++里操作XML有两个库可以用:MSXML和XmlLite.MSXML又细分了两种接口: MSXML又细分了两种接口:DOM和SAX2.XP没自带有XmlLite,只自带有2.x.3.x版的MSXML,不支持SAX2(需要MSXML 4.0以上),所以优先使用DOM.DOM是以COM形式提供的,VC++里调用DOM可以分…
FLTK介绍 FLTK (Fast Light Tool Kit 发音为fulltick) 是一种使用C++开发的GUI工具包,它可以应用于Unix,Linux,MS-Windows95/98/NT/2000和MacOS操作系统平台,相 对于其它的许多图形接口开发工具包(如MFC.GTK.QT等),它具有体积很小.速度比较快,且有着更好的移植性. 下载界面库 从FLTK官网下载最新版本的源码(e.g. fltk-1.3.4-1-source.tar.gz).解压源码文件到相应的目录, C:\Us…
框架有哪些?C++语言的QT.MFC.gtk,Java语言的SSH,php语言的 smarty(MVC模式),python语言的django(MTV模式)等等设计模式有哪些?工厂模式.适配器模式.策略模式等等简而言之:框架模式是大智慧,用来对软件设计进行分工:设计模式是小技巧,对具体问题提出解决方案,使得代码复用率和耦合度降低. =============== 设计模式 http://www.cnblogs.com/maowang1991/archive/2013/04/15/3023236.h…
一.Qt简介 1.Qt是什么:图形用户界面程序框架  能做界面的还有什么:MFC.GTK+ 2.Qt的由来和发展 3.为什么选择Qt 二.Qt环境与工具 1.工具   a.Qt助手:里面详细说明了Qt框架中的每一个类.函数.宏等.  是开发的必备:工具,在终端可以使用assistant开启.  b.构建器:负责把一个目录下的源码文件.头文件构建成一个Qt工程,并且自动生成Makefile文件.  c.Qt设计器:以画图的方式来进行设计界面,设计出的界面是没有功能的,如果需要完成相应的功能,还要与…
很多人不了解Qt Quick和Qml,还有很多人对其存在偏见.这篇文章就是来向这些有困惑的人介绍一下其是什么,有什么特点. 首先,这两个是一个东西吗? 答案:是的.但是,具体来说,Qt Quick是框架,qml是语言.Qt Quick是用C++搭建起来的一套DirectUI/Immediate UI框架,在这个框架上可以用和js语法一样的qml语言开发界面. 和原来的QWidgets框架有什么关系吗? 答案是没有.这个估计让很多人失望,我一开始也是以为Qt Quick就是QWidgets的演进版…
在VS中,存在ATL.MFC.Win32.CLR.常规等等各种工程模板,这些工程模板对应于开发不同类型的应用,比如要开发com,你应该选ATL:开发最原始的通过API代用操作系统的应用,应该用Win32:开发MFC图形界面程序,应该用MFC等等,详细的可以去查资料,比如参考:ATL CLR MFC Win32 常规 的区别. 但是我们今天的重点不是这些选项代表什么意思,而是要选择不同模板建立工程之后,当你通过工程的属性面板去配置一些环境如外部保护路径.外部库等等时,不同类型的工程,他的“属性”面…
目录 2 引言 2.1 SWIG 是什么? 2.2 为什么使用 SWIG? 2.3 一个 SWIG 示例 2.3.1 SWIG 接口文件 2.3.2 swig 命令 2.3.3 构建 Perl5 模块 2.3.4 构建 Python 模块 2.3.5 快捷方式 2.4 支持的 C/C++ 语言特性 2.5 非直觉的接口构建 2.6 将 SWIG 整合进构建系统 2.7 自动化代码生成 2.8 SWIG 与自由 2 引言 2.1 SWIG 是什么? SWIG is a software devel…
常见原因: 没有正确的设置引用的lib,新手常犯这个错误,这是最容易解决的问题. extern "C"的问题.如果C++写的dll要给C程序用,那么就要注意extern "C"的问题. 没有正确的dllexport,用depends.exe或者dumpbin.exe可以检查dll的导出符号表.看看是否正确的导出了符号. UNICODE的区别,比如dll用了unicode进行编译,exe没用unicode,那么就会找不到符号.因为编码方式不一样.都用unicode或者…
1,X11是X Window System Protocol, Version 11(RFC1013),是X server和X client之间的通信协议.X server是xfree86/xorg驱动下的显示设备鼠标键盘统称,X client通过X11协议和xfree86/xorg实现的X server通信,比如,告诉它画一个左上角坐标为(x,y),宽为w,高为h的窗口,xfree86就让显示器把屏幕上的小灯(像素)打亮,然后你就看到了一个窗口.为了方便开发人员编写X clients,就有了X…