PyQt5 day1

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

	为了督促自己自学PyQt 专门自己开了一个专栏,若有错误,请大家及时指出,谢谢

一、PyQt5?

QT :可用来开发桌面应用程序和非GuI应用程序
PyQt5:即允许python对qt库进行调用和编写

二、安装环境

1.下载python开发环境

2.通过命令行安装pyqt5

				pip install pyqt5  
****如果有多个python环境****				
	注意 pip的位置 即将pyqt5安装在了哪个python环境下

3、安装python集成环境

这里推荐pycharm专业版,至于如果破解,请自查百度

三、快速上手第一个PyQt5的GUI

import sys
from PyQt5.QtWidgets import QApplication,QWidget
#如果项目从这个py文件开始,则执行这个main函数
if __name__ == '__main__':
    #创建一个应用
    app=QApplication(sys.argv)
    #创建一个窗口
    w=QWidget()
    #设置窗口大小
    w.resize(680,450)
    #设置窗口位置
    w.move(500,400)
    #设置窗口标题
    w.setWindowTitle("第一个PyQt5程序")
    #显示窗口
    w.show()
    #这是一个通用语句,进入程序主循环,并通过exit函数确保主程序安全结束
    sys.exit(app.exec())

四、安装QTdesigner(可视化开发工具)

因为我下载了Anaconda 里边自带的有,所以就不必在安装了。直接在pycharm中导入外部工具包即可
我的designer目录:C:\ProgramData\Anaconda3\Library\bin

由于每次都需要找到这个可视化工具太麻烦,所以直接将其导入pycharm方便使用

1.找到项目的setting

在这里插入图片描述

2、导入designer.exe

我这里是已经导入成功了

除了框起来的填写自己exe文件所在位置,其他按照我的来就可以在这里插入图片描述

3、在文件下右键 点击,可视化工具即可使用

在这里插入图片描述
成功!
在这里插入图片描述

五、可视化工具得到的是.ui文件 转.py

方法1、 导入外部工具

如何将其转化为py文件 可以使用命令行 但比较麻烦 所以这里还是用外部包
找到Pyuic5.exe所在位置
见文章
点击此处文章

方法2、在终端输入

python -m PyQt5.uic.pyuic xxxxx.ui -o xxxxx.py
注意是在当前ui文件所在的文件夹的终端下

比如我的ui文件是在day01项目的python文件下 -o后是生成py文件的名字在这里插入图片描述

六、将可视化窗口显示出来

1、将ui文件保存在项目文件下,并通多PYuic变成py文件。

2、在创建一个py文件,去调用Py文件中的类和方法。

不要在以生成的py文件中编写,防止修改了ui文件后在生成oy文件,导致代码丢失
# 时间:2022/10/31 15:07
# cky
from PyQt5.QtWidgets import QApplication,QMainWindow
#引入由ui文件生成的PY文件
import horizontal
import sys
if __name__ == '__main__':
    app=QApplication(sys.argv)
    #创建一个主窗口
    mainwindow=QMainWindow()
    #实例化py文件的类
    ui=horizontal.Ui_MainWindow()
    #类中的方法,接收一个窗口,往窗口上增加自己设计的空间
    ui.setupUi(mainwindow)
    #显示主窗口
    mainwindow.show()
    #安全退出
    sys.exit(app.exec())

七、designer中的控件略讲(这里都是基于designer来设计的,并没有设计到具体代码层次)

(一)水平,垂直,栅格,表格布局以及容器

可以先拖拽控件,在添加布局
也可以先拖拽布局格式,再添加控件
**摆放控件时要尽可能整齐,系统才能正确识别**

不知道为什么如果我先拖拽控件,在使用布局,在对象查看器中就不显示这个布局???有知道的大佬可以指教一下~~
知道了,必须要确保选中了所有控件!!
如图是成功的 这可以看出来选中了这三个
在这里插入图片描述
这个就会失败 按钮上没有框,证明没选中
在这里插入图片描述

(二)空隙以及分割线

空隙可以自行设置高度和宽度,注意sizetype要为fixed

在这里插入图片描述
在这里插入图片描述

(三)尺寸策略(不是很理解)

控件有最大最小期望尺寸,还有默认尺寸(尺寸期望)策略不能更改,但是可以获得一个控件的期望尺寸或者最大最小期望尺寸。
        print(self.pushButton_3.sizeHint().width()) #获得期望尺寸的宽
        print(self.pushButton_3.minimumSizeHint().width()) #获得最小期望尺寸的宽
例子:
可以将两个控件放在一个水平布局里,之后设置水平策略为Expending
控件可以自行增大或者缩小.,之后设置水平伸展,可以固定这些控件的比例
如一个控件水平伸展为1 另一个为2,则不论水平方向再怎么拉伸,比例都为1:2
热键和快捷键(hotkey and shortcut key)

(四 )控件伙伴关系

1、热键与快捷键

热键是跟在功能菜单后的带下划线的键,直接按下就可以,只有看到了才可以使用;快捷键一般为组合键,不需要看到菜单后定义的快捷按钮,直接按组合键即可实现其功能。

热键必须在能看见该热键的情况下才有效,就是说如果是菜单上的热键,就要先弹出菜单,才能使用热键;而快捷键则无须弹出菜单。快捷键还要分windows系统快捷键和软件自定义的快捷键,前者在操作系统中通用,不论你处于什么状态你都可以使用他,且含义都一样,而后者只能在定义了该快捷键的软件中使用,且各软件可以把他定义成不同的含义。对于热键,可以是在菜单中,也可以是在按钮中,一般情况下,直接按下热键就可以执行相应操作,但如果当前焦点处于可录入的控件中,则要在热键前加上ALT键,否则,你就直接把热键输入到了文本框内了。(如下文案例中的文本框,属于可录入控件,需要加上ALT,才能让焦点在该控件上)

2、设置伙伴关系

在这里插入图片描述
点击EDIT中的编辑伙伴关系 之后拖拽 即可绑定
记得编辑完成之后要退出编辑页面,这时需要点击Edit中的编辑窗口部件(下述编辑Tab顺序也同理)
在这里插入图片描述
显示出来的效果
在这里插入图片描述
按住 ALT+B 即可让焦点对准年龄这个输入框

(五)编辑Tab顺序

有多个文本框控件,默认情况下都是从上到下
这里可以编辑修改Tab顺序

点击Edit->编辑Tab顺序 即可修改

(六)信号与槽

信号:即发送的信号(事件),比如单击按钮等
槽:接收事件的函数或方法等。
一个信号可以绑定多个槽,一个槽可以拦截多个信号

下述是简单的信号与槽的案例:如关闭窗口 或一个文本框的显示与隐藏,可用与不可用等(这里并没有自己编写函数,只是通过edit中的编写信号与槽来进行事件的绑定)

在这里插入图片描述

(六)菜单栏,工具栏,状态栏

创建主窗口可以添加菜单栏,工具栏和状态栏,也可以移除
菜单栏中可以编写文本,需要双击并且编写完之后需要点击Enter
之后可以输入每个菜单栏选项下方的文本。注意分隔符需要双击才会生效
对于工具栏,无法直接输入和编辑,也无法往其中拖拽控件。
可以点击动作编辑器,找到对应动作,然后将其拖拽过去才可以。
动作编辑器中的动作,也可以双击来修改相应属性,也可以添加快捷键。

注意

对于PYqt5以上的版本  使用WebView时 在显示时会报错,需要
 pip install PyQtWebEngine

之后再生成的py 文件找到 from PyQt5 import QtWebEngineWidgets
修改为 from PyQt5.QtWebEngineWidgets import *
在这里插入图片描述

之后再找到文件中的 将我框住的删除点,只保留
QWebEngineView(self.centralwidget) 即可

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值