请评价下这些C++ GUI库?除了那些常见,大的GUI库:MFC,WTL,wxWidgets,QT等,还有不少不那么出名的GUI库,有使
请评价下这些C++ GUI库?
除了那些常见,大的GUI库:MFC,WTL,wxWidgets,QT等,还有不少不那么出名的GUI库,有使用过的人讲授下经验
比如:SmartWin, fltk、JUCE、、Ultimate++、Win32++、FOX, WINX,NOTUS
[解决办法]
MFC:运行效率很高,功能很全,思想比较旧,面向对象特征不明显,开发效率较低,不跨平台。
WTL:运行效率很高,功能较全,比较先进,但是文档很少,没有官方支持,不跨平台。
wxWidget:运行效率很高(Windows下,也是原生窗口,和MFC一样,linux下要差些),功能很全,风格接近MFC。
QT:自绘窗口,跨平台时窗口风格能够固定,运行效率较低,但开发效率较高,可跨平台。
[解决办法]
抢sf学习。
[解决办法]
呃,mfc很好 开发效率很不错,文档全,会的人多。
[解决办法]
综合起来,其实最容易学的是MFC,资料最多,开发效率最高的是QT,WTL难以大规模应用,wxWidget主要用于处理跨平台界面的高效率移植(原生窗口,速度很快)。
[解决办法]
[解决办法][解决办法]如果老兄想翻案,唯一的方式就是证明KDE快过GNOME,GNOME快过Windows,就算这样,还得考虑去掉“KDE原生QT”的红利。
linux应用层界面窗口慢是无法辩驳的事实。
[解决办法]我只耍mfc,原因是不懂的时候比较方便找人问>_<
很猥琐的理由……
[解决办法][解决办法][解决办法][解决办法][解决办法]WTL 手机应用领域的 功能是要比MFC少 但是软件也要小很多 应用领域不一样
[解决办法][解决办法][解决办法]我用MFC是因为 资料多 -_-
[解决办法][解决办法]学习了
[解决办法][解决办法]那个鼠标问题,xorg.conf文件配置了吗?
[解决办法][解决办法][解决办法][解决办法]GTK和QT都是基于Xlib的,但我觉得Xlib本身就有问题。
Xlib限制了显卡加速。
Fltk的思想我觉得是最好的。
[解决办法]我看到过很多人抱怨XX问题XX问题,最后我发现,大部分都是使用不当造成的,
曾经有人抱怨中文locale的wine启动很慢,最后找出原因,是缺乏某个字体导致的,
后来某些人安装了字体,某些人通过patch源码的方式,都解决了问题。
-------------------------------
如果这种事情发生在Windows身上,没人会指责用户的配置,会清一色的抨击微软!微软更不会生硬的反过来抨击用户——自己去找个字体不就解决了?看看差距
[解决办法]在这里忠告一下linux桌面环境,要么完全回归linux的本源,不提供什么傻瓜化工具,所有的事情读写配置文件,要做傻瓜化工具就做好做精,别干那些仍人想砸电脑的傻事。
为什么我拿KDE的分辨率说事,因为我当初第一次用KDE4的时候(mandriva 2008)为一个分辨率浪费了我一整天,KDE4我记得有三处改动分辨率的地方(mandriva早格式化了,但我印象很深),一处是很明显的就在设置菜单面板上——改了后重启X复原(不清楚你提供这个干什么),还有一处画面类似于微软的显示属性的地方,是调硬件的——重启后复原,而且分辨率调得显示器不支持的时候不会像Windows那样自己恢复,而是整个KDE直接黑掉,最后在配置文件里改,忙活了一天,找了几个配置文件例子,总算改成了……
我就不明白了,如果KDE4想吸引Windows用户,你也提供了类似于Windows用户的显示属性设置,但为什么搞成假的?而且还有两个窗口——至今没明白最容易看到的那个和调硬件的那个有什么本质区别,貌似这两个都不会改动KDE的配置文件。
或者你像红旗那样仿win仿得像一些,Windows的配置方式、操作习惯直接拿来就能用;要么你就别提供这些机关陷阱,三个改分辨率的接口,两个没用一个难用,哪怕宣传中把KDE4吹上天,最后的结局只能是用户拍桌子走人,不仅拉不到用户,反而将用户推向对立面——更忠诚于Windows。
想Windows的分辨率修改,无论是显示属性还是注册表,都非常明确吧,改了确定就有效,linux的图形界面经常给人一种类似于这样的不确定感,记得前一阵子,一个linux大牛还在为“linux一种配置提供多个配置文件(很明显,分辨率这里就是这样,前两处修改没有改动KDE的配置文件,那肯定动了其他地方)”这件事吹法螺,说这样怎么怎么科学了,怎么怎么牛逼了……我看,这种不确定性是linux最大的缺陷。
[解决办法]新的红旗在使用KDE4之后,也引入了这个问题,仿Win的感觉下降了不少,也许是我水平确实不行……
[解决办法]不同的配置哲学,
Linux软件喜欢搞不同层级的配置,
全局,用户,当前会话,越局部的配置,优先级越高,
同一用户也可能搞很多不同名字的配置,使用时可以指定其中一种,
同时非常强调用户之间的隔离,一个用户的用户级配置不能对另一用户有影响,
全局配置除非拥有该项配置的权限,普通用户是无权访问。
软件安装路径,配置文件路径,配置方式,两者都是完全不同的哲学。
不过看最近几年的发展,也挺有意思的,gconf提供了类似注册表的集约式管理,
windows下某些程序运行时不再往app目录下写东西,也不写注册表,却把数据放个人目录下
windows和linux在对待用户出了问题这件事情上,其实差不多的,
在pcbeta上,说win7的XX有问题,也会被指出是你自己搞不定,不是系统不好。
windows用户初涉Linux时,容易以资深电脑用户自居,不愿意把自己当成一个什么都不会的人从头开始学,
用windows下的经验去操作时,遇到解决不了的问题时,喜欢跑社区说遇到xx bug,
社区里见多了这种明明自己搞不定却出来抱怨的事情,特别气人的是,那些人觉得自己是高手,
没理由是自己搞不定,一口咬定问题不是出在自己身上。
[解决办法]http://home.pacbell.net/atai/guitool/
这个网页上列举了40个左右的GUI库
有兴趣的可以研究一下。
[解决办法][解决办法]顺便贴一个经常看到的csdn页面
PHP code“/”应用程序中的服务器错误。超时时间已到。在操作完成之前超时时间已过或服务器未响应。说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息: System.Data.SqlClient.SqlException: 超时时间已到。在操作完成之前超时时间已过或服务器未响应。源错误:执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。堆栈跟踪:[SqlException (0x80131904): 超时时间已到。在操作完成之前超时时间已过或服务器未响应。] System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +1950890 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +4846875 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +194 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2392 System.Data.SqlClient.SqlDataReader.ConsumeMetaData() +33 System.Data.SqlClient.SqlDataReader.get_MetaData() +83 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +297 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +954 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +162 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +32 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +141 System.Data.SqlClient.SqlCommand.ExecuteReader() +89 CSDN.Community.ForumDAL.TopicDataProvider.SearchTopicsUserDiscussedInSections(String UserName, Int32 PageSize, Int32 CurrPage, List`1 sectionList, Int32& count, List`1& TopicSet) +647 CSDN.Community.WebSite.PointForum.Forum.UserTopicList.Page_Load(Object sender, EventArgs e) +1443 System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35 System.Web.UI.Control.OnLoad(EventArgs e) +99 System.Web.UI.Control.LoadRecursive() +50 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627版本信息: Microsoft .NET Framework 版本:2.0.50727.3603; ASP.NET 版本:2.0.50727.3082
[解决办法]
QT跨平台,功能和文档也在逐步完善,只要有C++功底就可以轻松入门。
[解决办法]
标记
[解决办法]
吵得很厉害啊。。。观望中....
[解决办法]
[解决办法]
X protocol 了解一下没坏处
kernel32 / gdi32 / user32
不要只关注 Window Manager
[解决办法]
[解决办法]
wxwidgets!鼎立推荐,有详细的文档!只要用过MFC的都会觉得和MFC很相似!很好用,界面设计也比较简单
[解决办法]
[解决办法]
[解决办法]
[解决办法]
linux下的gui毕竟是个应用程序,当然要比win的慢,
[解决办法]
强力围观
[解决办法]
[解决办法]
Win32++貌似没有MFC好用
调这些所谓的库去开发自己的应用程序,快是快,好是好,方便是方便,缺点也有,就是很多时候你都不知道他是怎么帮你具体实现的。
[解决办法]
mark
[解决办法]
[解决办法]
[解决办法]
就一个GUI库,别本末倒置
------解决方案--------------------
[解决办法]
我喜欢qt。。。
原因很简单,因为这个里面没有又臭又长的WinAPI。
同理多线程我喜欢omp。。。。
[解决办法]
mark
[解决办法]
现在新花样是层出不穷,大家还是不要追求全面,
就一个MFC 先用通了,其他的掌握起来也不难,原理都是一样的。
不过我看楼上的 都是高手啊, 不是说给高手听的,给新手提点建议!
[解决办法]
所以 至于效率问题或者是否好用,最好不要听,要自己感受,自己体会的过程 就是最好的学习过程,
就算 群里人说了 那个效率高,自己不体会一下,知道了也没什么用!
···个人认为···
[解决办法]
总结完毕
[解决办法]
终于吵完了?
[解决办法]
前段时间我也面临同样的选择。
Qt:库的结构很清晰,功能全面、强大,拥有强悍的UI设计器和Layout管理,天然支持皮肤,但是我不能容忍的一点是生成应用程序的体积太大(要带一堆Qt的库,就算用static模式加压缩也是以2mb开始)。
MFC: 设计理念落后了,看起来太过繁琐,所以被我略过了。
WTL: 非常轻量级,但是写出来的代码本身不算很清晰,有很多与ATL的交互不容易掌握。优点是写出来的东西体积小,速度非常快。
Winx: 这是我最后的选择。基于WTL构建,写出来的代码本身很清晰,非常方便,支持UI设计器,自定义控件非常容易。编译出来的东西比WTL更小更快。更容易上手。
[解决办法]
MFC,WTL,wxWidgets,QT等,还有不少不那么出名的GUI库,有使用过的人讲授下经验
比如:SmartWin, fltk、JUCE、、Ultimate++、Win32++、FOX, WINX,NOTUS
MFC:用过,但不怎么喜欢用,用的人应该很多,这个不评论!
QT:现在手上的项目用的这个,有点明显,有点类似borland的VCL,除了MOC机制外,其他都很好。推荐使用!
Fox-toolkit,小 日 本的作品,消息映射机制感觉比较糟糕。
wxWidgets,实现方式类似MFC,通过宏来实现消息映射。
fltk,这个也用过,体积小,在1.X版本使用的Callback,晕死,不喜欢!