找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2009|回复: 0

[资源与教程] 说人话的PYQT【1】

1

主题

1

帖子

1

积分

贫民

积分
1
LXD 发表于 2020-8-1 23:03:24 | 显示全部楼层 |阅读模式
说人话的PYQT5『1』
版权声明 无需授权即可转载
PYQT5的安装
首先得安装Python,最好是最新版本,然后配置一下环境变量,安装过程中Python也会自动配置环境变量,之后打开Windows上的终端,Terminal,Powershell随便哪个都可以,或者直接用VSCODE的终端也行,输入 "pip install PyQt5" 然后就没有然后了,基本就能顺利安装成功,有问题也可以这个网站上找找解决办法 PYQT安装链接[1]
第一个界面
和大多数编程语言整HELLO WORLD一样,GUI一般都是整个空白窗口,直接上代码,就叫做MyApp.py好了,之后所有的教程代码我就这一个文件,在里面不停写
image.png
运行上面这个代码出来的就是个白窗口带个按钮,如果用Vscode写这些代码,可以安装个插件Code Runner[2],右键直接运行就可以了,出来是这个样子,丑爆了
image.png
Qt有几个主要得模块,QtWidgets, QtGui *和 *QtCore,大部分的功能都来自这几个模块,界面,数据库,线程,MVC等等。其实没必要理解很深,其实就是用。 来说说最后一行代码[17],GUI程序就是一系列的事件循环,因为基本是各种交互的动作,所以要不停的循环处理每一个动作,这些动作排着队等着去处理,大多数事件有标准的Handler去处理,比如点击鼠标,可以通过一个点击Handler去链接对应的事件,理解的这个层次基本能对付大多数程序了.
image.png
还有就是上面代码又是class,又是super,init什么乱七八糟一大堆,其实没必要理解,后面大多数的程序都是这个样子开头,可以把这个当做个白纸,就是在这上面折腾就行。 接下来调整一下窗口大小
image.png
画界面这个事通过代码实现这个太扯了,后续会用到Qt Designer来设计界面,界面的代码理解只要保证能看懂程序的组织结构就行,主要的代码还是要处理事件,线程,数据这些东西,所以界面的东西我就不写太多了。
信号和槽
信号和槽一直以来都是PYQT学习中被认为很重要也很难理解的,但我觉得没什么,可能是理解的不够深入,一句话就是信号就是操作,槽就是处理这些操作,这些操作是广义的,不光是人为的操作才叫操作,任何形式改变其实都可以理解为操作,所以信号是可以自定义的,不就是接收一些变化,然后让这些变化连接到槽去处理一下。 还是先从简单的来,点击按钮就是一个信号,然后连接到一个槽去处理,用啥去处理呢,在程序里面无非就是函数或者方法
image.png
运行后可以看到按钮点击后,打印了一个单词 信号还能传递参数到槽中,比如下面传递了一个按钮状态到[21]的函数中,因为这个按钮是setCheckable的,所以可以理解成开关,还可以看到一个信号可以连接到多个槽,这个按钮就连接了两个槽函数
image.png
可以在槽函数中做的更多
image.png更多的Widgets
Qt提供了大量的控件供使用,这里不可能写,其实也没啥意思,用上Qt Designer后,这些东西就没必要细究了,下面的代码把常用的空间都罗列出来了
image.png
之后用到了,可以到这个网站去查Widget的方法,属性和槽 pyqt basic widgets[3] 今天先到这
引用链接
[1] PYQT安装链接: https://pypi.org/project/PyQt5/
[2] Code Runner: https://marketplace.visualstudio.com/items?itemName=formulahendry.code-runner
[3] pyqt basic widgets: https://www.tutorialspoint.com/pyqt/pyqt_basic_widgets.htm

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表