免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: abcbuzhiming
打印 上一主题 下一主题

C/C++为什么至今就没有一个好用的界面库呢 [复制链接]

论坛徽章:
0
31 [报告]
发表于 2008-03-04 13:33 |只看该作者
记者:STL是一个超凡脱俗的跨平台架构。有没有考虑在其他方面,比如GUI(图形用户接口),设计这样的标准架构?
Bjarne Stroustrup:很自然地,很多人会想如何在其他领域借鉴STL的成功。比如在数值运算和图论方面都有了许多有趣的工作。相关链接可以参看我的网页。
  标准GUI价值极大,不过我怀疑其政治上的可行性。太多有钱的大公司在维持其专有GUI上有着重大的商业利益,而且要求用户放弃现在所使用的GUI库也殊非易事。【注:有朋友可能奇怪,一个GUI库怎么扯出"政治(politically)"来了?西方人口中的"政治",在中文里并没有真正对应的词语。这里的意思是of concerning public affairs,跟中文里的"政治"无关。下一段就是对这个所谓"政治上的可行性"的详细解释。】
  这里我所说的可行性是就商业和技术而言。现在有好几种广泛使用的GUI,即使标准委员会提供一个替代方案,它们也不会就此退出。其所有者和用户──常常有充分理由──会只是忽略新标准。更糟的情况:某些公司或群体会积极反对这样的标准,因为他们认为标准不如他们已有的库,或者因为差异太大而使得转换到新GUI不可行。必须理解,如果标准不能充分服务于其目标用户,用户会视而不见。许多ISO标准因为无人理会而变得无关紧要。C++标准可不想成为其中一员──把现有实施拉近到一起,标准就功德无量了──我们不希望将来ISO C++标准被人忽略。
  注意STL成功的一个主要原因在于它是一个技术突破。它可不单是"又一个容器库",因此它不需要和许多现有的容器库(其中几个品质卓著)直接竞争。我猜想C++要有一个标准GUI,我们需要技术突破,加上好运多多。
  不过我还是怀疑委员会有由必需的专业技术和资源来构建一个可以成为真实世界中真正标准的GUI。
  我对标准库的想法倾向于修补现有库的遗漏(如hash_map和正则表达式),以及通过更广泛的运行时间类型信息和并发库来支持分布运算(可选)。
  有时大家忘了,库不是非得成为标准的一部分才有用。有成千上万有用的C++库。例如,参见C++库FAQ(我的C++网页有链接)。

论坛徽章:
0
32 [报告]
发表于 2008-03-04 13:53 |只看该作者
有的语言的IDE可以直接用鼠标画界面,很方便,希望C语言的IDE也向它们学习,那就好了

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
33 [报告]
发表于 2008-03-04 13:59 |只看该作者
原帖由 X-Files 于 2008-3-4 13:53 发表
有的语言的IDE可以直接用鼠标画界面,很方便,希望C语言的IDE也向它们学习,那就好了

你说的那是易语言吧?
我倒是觉得与其让 C 向易语言学习,还不如让有此想法的人直接去学易语言算了。

论坛徽章:
0
34 [报告]
发表于 2008-03-04 15:34 |只看该作者

各有所长

C++/C 的优点 MFC的优点

论坛徽章:
0
35 [报告]
发表于 2008-03-04 15:42 |只看该作者
其实,吐着吐着是会习惯的
人这辈子,不是别人习惯了你,就是你去习惯别人

论坛徽章:
0
36 [报告]
发表于 2008-03-04 16:19 |只看该作者
呵呵,我不太赞同,你说什么拷贝.net运行库不爽,你看看那些大公司的软件,现在不都是用.net 2.0了么,如:autodesk ansys。没有办法的事情,因为我们是在为微软的世界写程序,如果你想写跨平台的程序,呵呵,也许你就不该这样考虑,因为,天底下没有万能的东西。谁说C语言没有图形库,win32 SDK,不就是最好的东西么?想写什么都可以,你所谓的快方便,那是客户们需要的,而程序员的职责就是让用户的快乐凌驾在自己劳动的基础上的。

论坛徽章:
0
37 [报告]
发表于 2008-03-04 17:41 |只看该作者
难啊
一个优秀的GUI库必须满足:
1. 结构清晰、移植性好
2. 有自己所有的GUI元素的实现。
3. 对native GUI支持的组件,尽量使用native GUI的,而不是使用库自己的实现
4. 轻量级,代码累赘少。最好用template对native GUI直接包装。
5. 支持换肤
6. 表现和数据分离
7. 支持多种字符集
8. 对于GUI对象,可使用属性化操作
9. 用户感官舒适,响应快、闪烁少

wxWidgets算不错的了,但关于4, 5, 6, 8, 9不是很满意。

[ 本帖最后由 太平绅士 于 2008-3-4 17:52 编辑 ]

论坛徽章:
0
38 [报告]
发表于 2008-03-04 19:01 |只看该作者
wxWidgets + wxFormBuilder 不就很好用么。用wxFormBuilder画界面->xrc文件; 然后在c++中用wxXmlResource来Load这xrc,然后FindWindowByName(), Bind()事件,收工。

[ 本帖最后由 lordix 于 2008-3-4 19:04 编辑 ]

论坛徽章:
0
39 [报告]
发表于 2008-03-05 08:54 |只看该作者
关注这个问题

论坛徽章:
24
狮子座
日期:2013-12-31 10:48:0015-16赛季CBA联赛之吉林
日期:2016-04-18 14:43:1015-16赛季CBA联赛之北控
日期:2016-05-18 15:01:4415-16赛季CBA联赛之上海
日期:2016-06-22 18:00:1315-16赛季CBA联赛之八一
日期:2016-06-25 11:02:2215-16赛季CBA联赛之佛山
日期:2016-08-17 22:48:2615-16赛季CBA联赛之福建
日期:2016-12-27 22:39:272016科比退役纪念章
日期:2017-02-08 23:49:4315-16赛季CBA联赛之八一
日期:2017-02-16 01:05:3415-16赛季CBA联赛之山东
日期:2017-02-22 15:34:5615-16赛季CBA联赛之上海
日期:2017-11-25 16:17:5015-16赛季CBA联赛之四川
日期:2016-01-17 18:38:37
40 [报告]
发表于 2008-03-05 10:18 |只看该作者
原帖由 太平绅士 于 2008-3-4 17:41 发表
难啊
一个优秀的GUI库必须满足:
1. 结构清晰、移植性好
2. 有自己所有的GUI元素的实现。
3. 对native GUI支持的组件,尽量使用native GUI的,而不是使用库自己的实现
4. 轻量级,代码累赘少。最好用templa ...


用 C/C++ 写界面确实不太好, 我想以后应该是 XML 界面描述语言和显示引擎的时代。
这样真正做到了界面显示和程序逻辑分离,关键是界面和逻辑中间要有一个好的接口。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP