`
webcenterol
  • 浏览: 916106 次
文章分类
社区版块
存档分类
最新评论

PyQT学习 的开始,顺面小谈目前GUI的选择

 
阅读更多

PyQT学习 的开始,顺面小谈目前GUI的选择

write by 九天雁翎(JTianLing) -- blog.csdn.net/vagrxie

讨论新闻组及文件

以前学习了MFC,工作前自己也做些小应用,工作后除了在工作组呆了2个月,还有在服务器组时客串写点计算md5值,密码,关键字过滤等小工具的时候,基本上用不到MFC。但是,总的来说,MFC的学习还算是在这段时间发挥了一点作用,也不算白费。至于说MFC的设计多么完善,实在不敢恭维,哪怕是自己随便开发一个小工具,都会有别扭的地方,以前学习的时候,更加是为其开发可以动态改变大小的对话框程序绞尽脑汁。。。。。基本上,理解了MFC的原理后,开发一般的东西是没有问题,除了要看看具体控件的函数调用啥以外,但是过程主要还是以痛苦为主,没有畅快的感觉。。。。而,想要用MFC开发出漂亮的界面,那就。。。。更加痛苦,虽然也许控制力更强,可定制的方式更多,但是。。。实在不是太方便。个人最痛苦的经历是在用MFC做一个游戏的时候,那个痛苦啊,基本上需要的功能基本上是从额外的控件库中获得,学习了CButtonBTCImageX等后,才好不容易弄出个雏形。。。。何止一个难字了得。这点。。。虽然怪我准备用MFC做游戏的不当,但是也体现了MFC的确有其复杂性所在。

个人认为,像一般的程序语言使用时,控制力强,效率高还在某些时候有一定必要,比如公司现在开发网络游戏服务器,客户端的时候用的都是C++,嵌入式开发时用用C,甚至汇编都可,但是开发界面嘛,还有必要弄的非要绞尽脑汁,翻尽资料才能弄的一个控件有点小小的改变吗(比如自绘控件),RAD嘛,那样,速度岂不是慢了点,虽然一个软件的界面很重要,但是指的不是要求开发的多么痛苦,开发的GUI库要多么能自由的控制。。。。。

综上所述,不喜欢MFC,但是其偏偏是我目前唯一懂的GUI库,我准备改变这一点,准备有空学习QTPyQT,一起学了,相对来说,QT的资料多些,PyQT就比较少,所以我写的时候可能以PyQT为主。

这里顺面谈谈GUI库的选择

本人其实最大的要求就是跨平台,我不希望到时候需要某个Linux工具的时候还需要额外学习其他库,要学习还不一次学完,虽然我现在使用Linux还是纯控制台(putty远程)。

这里基本上有QT,WxWidget,GTK+,等3种选择

这是我在参考了WxWidget,GTK+等相关了资料后做出的选择。。。。GTK+适应面太窄,而且原生为C设计,不喜欢,WxWidgetQT之间倒是抉择了很久,WxWidget也算是比较广泛使用的东西了,记得《梦断代码》一书中描述的Chandler就是使用了WxWidget,并且WxWidgetQT也有很多共同的优点。比如都有Python的绑定版本:)。

从软件架构上来说,按性格我会更喜欢QT这样面向对象使用更加正规的工具而不是WxWidgetMFC这样太依赖宏的工具,虽然说也许速度会慢一点,我也愿意忍受了,就我的经验来说,似乎程序的瓶颈一般不大可能在这些问题上。并且,看资料了解了一下QT的信令槽机制,直观感觉会比可狰的宏操作的消息映射会好得多。

但是WxWidget有另外一个优点,其不与任何一家公司相关,QT毕竟是诺基亚的产品,毕竟受其控制,个人性格又不太喜欢受制于某一家公司的技术,(即便是微软这样的公司我都不愿意,何况诺基亚呢?)所以当年坚决的没有学Object C并买IPhone,而是打算就算是学JAVA也应该支持Android。当年没有学C#JAVA而是学了C++,并且,虽然在Windows下工作的较多,但是还是保持着对Linux的兴趣。这些对自己视野的开阔还是有一定好处的,并且对于知识的持久性也是有保证的。。。。听着骂C#多变的人我就偷笑了,呵呵,C++我盼着变都还不变呢。。。。。但是有利有弊吧,学的东西多了,自然不如专门学一个东西精罗,何况,C#多变,还不是其在发展嘛。。。。。。。这是个人在刚毕业,刚工作时候的取舍,不然一开始就太精,视野容易变得很狭窄,虽然也许这样一开始工资会涨的比较快,呵呵,这是关于GUI以外的题外话了。

但是最后我还是选择了QT,首先,QT虽然其属于诺基亚,但是开源,这点保证了不至于太受制于一家公司,另外,还因为QT有额外的优点:

1.他有原生的图形界面平台,那就是KDE,这点目前我能选择的范围内,就只有MFCGTK+,QT了,WxWidget没有这样的优势。虽然其实我以前用Linux的时候都是在Gnome下。。。(RedhatUbuntuLinux默认都是Gnome,并且因为我一开始用Redhat9Gnome,也习惯了,后来也没有准备改,看来以后可能需要改到KDE了。。。呵呵,不然怎么领悟QT的优势啊。。。。。)

2.QT能跑在很多移动设备上,除了WM,马上也就会有塞班的版本。

3.QT还能更方便的用于嵌入式开发,甚至QT还能开发命令行的图形界面。

因为这些优点。。。。我还是选择了QT,希望这些额外的优点不要是因为QT有一家大公司在宣传的缘故吧-_-!

最后的最后,其实一些东西没有提到,主要原因就是其不跨平台了,那么跨平台真的有那么重要吗?这点我说不清楚,个人爱好使然。只是,在同样的开发成本下,假如你的软件有跨平台特性,这有什么不好吗?那么JAVA的宣传口号算啥呢?“一次编写,到处运行”。。。。。呵呵,QT的口号是,“一次编写,到处编译”。。。

这里有个网页,做了一些比较,大家可以参考一下:

GUI programming with Python

write by 九天雁翎(JTianLing) -- blog.csdn.net/vagrxie

分享到:
评论

相关推荐

    基于深度学习神经网络和PYQT5的GUI可视化手写数字识别小程序项目源码.zip

    基于深度学习神经网络和PYQT5的GUI可视化手写数字识别小程序项目源码基于深度学习神经网络和PYQT5的GUI可视化手写数字识别小程序项目源码基于深度学习神经网络和PYQT5的GUI可视化手写数字识别小程序项目源码基于深度...

    PyQT GUI编程思维导图

    pyqt学习的一个整体思维导图,课程是网易云课堂的wsz老师的qt开发课程。 课程可以在b站上看到,老师讲的很好很有激情,每个控件都讲的十分详细,不是那种简单的画控件的课程。 所以这个思维导图也写的很详细。

    PyQt GUI快速编程指南

    本书共分四个部分:第一部分主要讲述Python基础知识,第二部分通过三个例子给出PyQt GUI应用程序的初步印象,第三部分深入讲述窗口部件布局、事件处理、窗口部件子类化、Qt图形架构和Qt的模型/视图等内容,第四部分...

    基于python+PYQT5的简易计算器源码+GUI界面.zip

    基于python+PYQT5的简易计算器源码+GUI界面.zip基于python+PYQT5的简易计算器源码+GUI界面.zip基于python+PYQT5的简易计算器源码+GUI界面.zip基于python+PYQT5的简易计算器源码+GUI界面.zip基于python+PYQT5的简易...

    pyqt5-python-Gui

    pyqt5新手入门教程,以章节的形式加以讲述,每一章实现了一个功能

    Python Gui编程,PyQt5下载安装教程

    Python Gui编程,PyQt5下载安装教程 Python Gui编程,PyQt5下载安装教程 Python Gui编程,PyQt5下载安装教程 Python Gui编程,PyQt5下载安装教程 Python Gui编程,PyQt5下载安装教程 Python Gui编程,PyQt5下载安装教程 ...

    pyqt5 python Gui入门教程 中文PDF高清版

    这是一个关于pyqt5-python-Gui的入门教程,干货 ,新手必备,pyqt5 GUI开发教程,详细介绍了基本的程序结构和细小知识点。简单好用,GUI指导,需要的朋友可下载试试! pyqt5新手入门教程,以章节的形式加以讲述,每...

    PyQt5+OpenCV播放本地视频GUI窗口 mp4等格式

    # PyQt5+OpenCV播放本地视频GUI窗口 mp4等格式 1. 使用QTimer定时刷新画面 2. 播放/暂停按键

    pyQT4 Gui小程序

    用来找阴阳师中悬赏任务的妖怪所在地的小程序~当然,不是完全收录所有的。程序比较简单,对初学者来说蛮好的,有相应的注释,可以自己改变窗口背景图片和左上角小图标。

    python pyqt5 gui 入门教程 干货

    python pyqt5 gui 入门教程 干货 ,新手必备,pyqt5 GUI开发教程,详细介绍了基本的程序结构和细小知识点。

    GUI Programming with PyQt

    PyQt讲课课件,可以用于学习PyQt, 也可以用于教授PyQt.

    基于pyqt5实现yolov5目标检测GUI界面设计好看界面源码.zip

    基于pyqt5实现yolov5目标检测GUI界面设计好看界面源码.zip基于pyqt5实现yolov5目标检测GUI界面设计好看界面源码.zip基于pyqt5实现yolov5目标检测GUI界面设计好看界面源码.zip基于pyqt5实现yolov5目标检测GUI界面设计...

    使用pyqt开发windowsgui程序及打包

    资源名称:使用pyqt开发windows gui程序及打包教程内容:这是一门Python GUI编程的项目实战课程,目标是让学员学会使用pyqt设计基本的GUI程序,让你从“不知道python能干什么”和“学完了基础语法不知道再学什么”...

    pyqt5-python-Gui入门教程可用.pdf

    pyqt5-python-Gui入门教程可用.pdf

    PyQt5_Gui_MutiProcess

    PyQt5_Gui_MutiProcess

    python课程设计用pyqt5做的拼图小游戏源码.zip

    python课程设计用pyqt5做的拼图小游戏源码python课程设计用pyqt5做的拼图小游戏源码python课程设计用pyqt5做的拼图小游戏源码python课程设计用pyqt5做的拼图小游戏源码python课程设计用pyqt5做的拼图小游戏源码...

    pyqt开发 gui视频教程 windows gui程序打包

    pyqt开发 gui视频教程 windows gui程序打包(带源码) 1.python gui框架简介,pyqt介绍,为什么使用pyqt 2.使用python开发pyqt程序的环境搭建 3.pyqt在ubuntu系统下的体验最终 4.pyqt在mac os系统下的体验 5.第一...

    PyQt Python VTK PCL Qt pyqt5Gui 点云 三维重建,可视化

    PyQt Python VTK PCL Qt pyqt5Gui 三维重建,可视化; 按钮; 使用Python 可视化 GUI,需要用到 Qt; 这里是一个简单的例子,读取点云数据,显示; 基于 VTK9, pyqt5 ,python3.9 ,pypcl0.11

    python QT GUI快速编程--pyqt编程指南

    python QT GUI快速编程--pyqt编程指南,快速学习pythonGUI开发,图形化编程。

    python Qt GUI快速编程 PYQT编程指南.pdf

    python Qt GUI快速编程 PYQT编程指南 python Qt GUI快速编程 PYQT编程指南

Global site tag (gtag.js) - Google Analytics