{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

怎么使用编程语言程序“实现可视化界面”?

wfc_666wfc_666 回答3 收藏1
问题描述:怎么使用编程语言,如使用c语言、c++、python等编程语言的程序实现可视化界面,使的更方便、快捷的实现命令操作?
收藏问题

3条回答

firim

firim

回答于2022-06-22 19:15

你说的是桌面GUI程序开发吧,目前来说,用c语言来做桌面GUI程序开发的不多,主要做底层开发,下面我主要介绍一下c++和Python主流的做桌面GUI开发的一些框架和库,主要如下:

  • c++开发GUI

1.第一个比较经典的框架了,相信大部分初学c++的GUI开发的人都学过,微软自己推出

的开发框架,在vc,vs中经常用到,微软基础类库MFC,封装了底层Windows API,可以明显降低开发人员的工作量,但是只能在windows平台下使用,不具有跨平台性,而且就目前来说,灵活性不是很高,过程设计的有些繁琐:

2.Qt,这是一个跨平台的c++图形用户开发框架,易学易用,很快就能上手,相对于MFC来说,学起来能更快一些,比较简单,自带的Qt Designer可以更快的设计用户界面,更灵活,也更方便:

  • python开发GUI

1.第一个就是python自带的Tkinter包,基本可以满足小的GUI程序的开发,但是资料比较少,开发起来也不够灵活:

2.就是wxPython,这个包的功能相对于Tkinter来说,功能能更强大一些,也能灵活一些,网上的教程和例子也挺多的:

3.最后就是PyQt,这个是Qt提供给python的一个接口包,专门为了python开发GUI程序,功能很强大也很灵活,只要你有一定的Qt基础,很快就能掌握:

其实python还有许多开发GUI程序的包,像kivy,pygame等,都可以开发GUI程序,我这里就不赘述了,感兴趣的话可以到官网搜搜相关资料和文档,挺多的。

桌面GUI程序开发,其实几乎每门主流语言都有对应的框架或包直接来用,我这里就大概介绍了c++和python两种语言常用的框架和包,像C#,java等,都有对应的包或类直接可以调用使用,开发起来GUI程序也很快,我这里就不详细介绍了,可以到网上搜搜相关教程和例子,希望以上分享的内容能对你有所帮助吧。

评论0 赞同0
  •  加载中...
beanlam

beanlam

回答于2022-06-22 19:15

谢邀,作为一名一线研发工程师,下面对市面上常见的如何选择C++、Python等编程语言完成可视化界面编程进行介绍,欢迎大家留言探讨。


C/C++

对于那些追求极致开发效率的桌面应用程序,C++绝对是你的首选编程语言。下面对常用的界面库进行介绍。

1、QT

C++开发界面首选开源库。跨平台支持,文档齐全,API设计优雅,它不仅仅是一套界面库,更封装了多线程、访问数据库、图像处理、音频视频处理、网络通信、文件操作等接口。


QT最近在跟车企进行合作,很多监控设备的图形化展示,甚至是试验车内部的液晶仪表盘上都使用QT进行开发的,QT最大的优势就是跨平台!高效率!


QT中甚至可以直接使用JavaScript,这对我们的一些混合编程场景提供了极大的便利。


QT提供的QSS(Qt Style Sheet,Qt样式表)可以让我们像写Web界面中的CSS那样开发桌面应用程序,如下图是使用Qt实现的一套界面换肤效果图。

2、MFC

微软提供的一个基础类库,全称Microsoft Foundation Classes,称得上是上古界面库了,完成了对Windows底层API的封装,目前最新版的VS已经默认不集成MFC,需要多带带勾选。

坊间流传MFC==没饭吃,虽然2020年都已经快结束了,但是还是有大量的公司在使用MFC这一上古技术来开发界面(电力、军工等传统行业居多),当然更多的是在维护的项目,它并没有灭绝。

初学者的话,建议了解其大概思想即可,没有必要再去深究它。

3、第三方界面库

比如Duilib、BCG、Skin++等等,这里不再展开描述,只是简单的对大名鼎鼎的Duilib进行介绍。

Duilib采用XML来描述界面风格和布局,将界面和逻辑分离,尽量减少在代码中创建UI控件。可让开发人员快速开发出美观的界面效果图,是一款开源的directUI界面库。目前很多的互联网PC端软件都是使用Duilib开发而来,比如: 钉钉、PP助手、微信、网易云信、TeamTalk、盘古越狱工具等。

下图是网友仿照早期迅雷看看播放器使用Duilib开发的一款应用软件。

PS:第三方界面库最大的问题就是缺少一个正统的维护者,一旦出现问题不好排查。

Python

没错,Python也可以进行桌面软件编程,虽然这并不是它的长项。常见的界面库有wxPython、PyQT、Tkinter等,限于篇幅,这里只对最常见的PyQT进行介绍。

PyQT

一个创建GUI应用程序的工具包,它是Python编程语言和Qt库的成功融合。具体的优点如下:

  • 社区支持较好
  • 入门教程较多,新手遇到问题容易找到解决方案
  • Qt API设计科学,值得学习参考
  • 稳定,跨平台性能好

唯一需要注意的是商用版需要收费。

下图是是使用使用QSS和PyQt5完成的界面效果图。

Electron

最后,提下Electron,一个使用 JavaScript, HTML 和 CSS 等 Web 技术创建原生程序的框架,选择它也是一个很好的选择(目前市场上最优秀的编辑器VSCode就是使用它开发而成),简单易上手。

选择Electron,可以方便的通过Node.JS调用系统API、可以使用SQLite做本地字典项的缓存处理,可以将复杂的计算逻辑放在客户端进行,从而减轻服务器端的压力等等。


当然,如果你非要说Electtron写出来的软件体积大效率低,那么,我想谁也没法辩驳。


以上就是我的观点,喜欢就【点个赞】吧!

评论0 赞同0
  •  加载中...
edgardeng

edgardeng

回答于2022-06-22 19:15

为什么大家动不动就夸平台呢?我很奇怪?哪有那么多平台可夸?做桌面GUi的几乎都是Windows,哪个公司在Linux下开发桌面程序?题主没说使用什么语言,Windows下推荐Delphi,C++Builder,以及宇宙第一IDE—Visual Studio(VB6,VC6都是6.0的,VS08,10,15版比较好)

评论0 赞同0
  •  加载中...

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<