XIVN1987 发表于 2016-1-29 22:04:13

分享一个Python+PyQt写的小工具,希望对坛友电工有用




下面简单介绍以下怎么用Python+PyQt编写简单的GUI程序

上面这个简单的小程序由下面两个文件和一个图标构成


其中“BatchDo.ui”跟Python没有关系,它是用Qt Designer“画”出来的,一行代码都不用写,关于怎么用Qt Designer拼界面大家可以去网上找资料看看


下面重点介绍一下"BatchDo.py"文件,首先来一个最简单的BatchDo.py文件

如上图所示,这就是最简单版本的完整程序,,将上面的代码保存到"BatchDo.py"文件中,然后双击"BatchDo.py"文件就在可以弹出下面的界面


现在程序界面已经完全显示出来了,,可是这些按钮没有关联事件相应函数,所以点击界面上的按钮不会有任何反应,,换句话说,程序是死的,只能看,不能动
下面给三个按钮关联上最简事件相应函数,点击按钮后程序能给出反应
修改后的类完整代码如下所示:

点击按钮后就会在命令行界面上显示出print出来的内容,如下:


你也许会好奇,Qt Designer中画出来的按钮是怎么和Python里面的函数关联起来的??为什么按钮被按下会执行Python中的函数呢?



至此,一个简单的GUI程序就写好了,,

只要能把界面上的控件被点击或选择的事件和Python的函数关联起来,,后面事情就水到渠成了,,比如这个程序里面on_btnExecN_clicked函数里面就是搜集用户输入的信息,然后调用renameFileDir函数完成实际的操作

当然PyQt里面有很多控件,,每一个控件又有很多事件、属性,,这些内容是不可能完全记住的,,只需要用到的时候去下面的网址搜索查询以下就可以了,,
http://doc.qt.io/qt-5/reference-overview.html

希望对坛友有用{:lol:}


冬夜渐暖 发表于 2016-1-29 22:29:04

以前想过用pyqt做上位机   但是发布是个问题

yj_yulin 发表于 2016-1-29 22:35:02

冬夜渐暖 发表于 2016-1-29 22:29
以前想过用pyqt做上位机   但是发布是个问题

pyinstaller还凑合着用

donglaile 发表于 2016-1-29 22:37:13

感谢分享!可以运行{:lol:}

XIVN1987 发表于 2016-1-29 22:53:05

冬夜渐暖 发表于 2016-1-29 22:29
以前想过用pyqt做上位机   但是发布是个问题


对于我们电工来说,好多上位机就是辅助用的,根本不需要发布。。
这种情况下,Python挺好。。

冬夜渐暖 发表于 2016-1-29 23:00:30

XIVN1987 发表于 2016-1-29 22:53
对于我们电工来说,好多上位机就是辅助用的,根本不需要发布。。
这种情况下,Python挺好。。 ...

如果你自己做工具的话   其实不要界面也没关系的吧?
如果是要release给客户用安装起来便捷是肯定要考虑的。
就好像咱们都用过的putty 或者sscom这种串口调试工具,直接copy过来小白都能双击运行,这才是客户想要的吧?
用C#写的上位机依赖.net的运行库   坛子里很多老鸟都不乐意用。python那些开源东西我等小白还真不一定玩的转。

waterghost 发表于 2016-1-29 23:05:22

PyQt资料太少了!
PyQt5资料更是少。

creep 发表于 2016-1-29 23:08:27

感谢分享!

chenxujiaoyang 发表于 2016-1-29 23:23:26

不错,最近也在学习python和go

lvyi913 发表于 2016-1-30 00:04:23

给楼主一个赞!!谢谢!

hexenzhou 发表于 2016-1-30 08:25:20

楼主的python开发工具叫啥名字,看起来很漂亮的样子。

Excellence 发表于 2016-1-30 08:32:41

谢谢楼主分享。
学习PYTHON+PYQT一段时间,感觉资源太丰富了。
用ERIC6+PYTHON3.4+PYQT5...做GUI很方便。

first_blood 发表于 2016-1-30 10:36:55

本帖最后由 first_blood 于 2016-1-30 10:40 编辑

直接用QT creater,只会C

shwind 发表于 2016-1-30 11:10:38

感谢楼主分享

imjacob 发表于 2016-1-30 11:15:17

非常赞同 楼主 用python作为辅助工具的观点。 陆陆续续也在学python,把基本语法都看完了。后面发现就是应用的问题了

whxiaowang 发表于 2016-1-30 11:23:54

感谢楼主分享

XIVN1987 发表于 2016-1-30 11:48:47

hexenzhou 发表于 2016-1-30 08:25
楼主的python开发工具叫啥名字,看起来很漂亮的样子。


不是啥高大上的开发工具,就是个对Python支持的比较好的代码编辑器,叫Ulipad

Python开发最厉害的工具应该是PyCharm,有社区版可以免费使用

flotox 发表于 2016-1-30 15:16:22

XIVN1987 发表于 2016-1-30 11:48
不是啥高大上的开发工具,就是个对Python支持的比较好的代码编辑器,叫Ulipad

Python开发最厉害的工具 ...

我的电脑上跑PyCharm特别卡是怎么回事,我现在转回去用Eric6了

XIVN1987 发表于 2016-1-30 16:20:29

flotox 发表于 2016-1-30 15:16
我的电脑上跑PyCharm特别卡是怎么回事,我现在转回去用Eric6了


PyCharm确实挺耗资源,,
我没有用这些功能强大的IDE,,Ulipad这样的文本编辑器就够用了。。

meirenai 发表于 2016-1-30 16:28:44

又见楼主 python 干货分享。

huangqi412 发表于 2016-1-30 17:22:25

好教程PYTHON带界面

yinian 发表于 2016-6-12 11:12:54

很好的教程,可以更好的理解python 了

ztg328 发表于 2017-11-14 00:49:37

见楼主 python 干货分享

szxszx 发表于 2017-11-14 09:54:29

C#做上位机软件依赖.net的运行库,发布起来很麻烦,安装文件也大。
delphi简单好用,好像现在用的人少了

ksniper 发表于 2017-11-14 10:31:17

python也可以打包成exe ,我写的序列号烧录软件就是这样封的 然后交给对应人员使用

zxffs22 发表于 2017-12-19 22:19:35

挺实用的,楼主知道怎么添加线程么,当文件特别多时,会比较卡,有点不太友好

connor888 发表于 2018-2-1 18:49:23

希望您多谢点教程,太缺这样的好教程了

connor888 发表于 2018-2-1 20:55:38

Excellence 发表于 2016-1-30 08:32
谢谢楼主分享。
学习PYTHON+PYQT一段时间,感觉资源太丰富了。
用ERIC6+PYTHON3.4+PYQT5...做GUI很方便。 ...

你的资料都在哪里找的啊 感觉pyqt5的资料少的可怜

大豆皮 发表于 2018-2-2 09:00:38

谢谢楼主!正在学习中
页: [1]
查看完整版本: 分享一个Python+PyQt写的小工具,希望对坛友电工有用