Pyqt5

本文介绍了Pyqt5的环境搭建,包括Python、PyCharm的安装和Pyqt5的配置。详细讲解了QLabel、QLineEdit、QTextEdit、QButton等控件的使用,并阐述了信号和槽的概念。此外,还提到了如何使用pyuic和pyinstaller进行文件转换和应用程序打包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境搭建

  1. 安装python3.7
  2. 安装pycharm
  3. 安装Pyqt5,用版本5.11,pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple Pyqt5==5.11.3 Pyqt5-tools
  4. pycharm中File->Tools->Extrernal Tools->点击“+”号->弹出对话框,配置如下:
    Program选择PyQt-tools安装目录中designer.exe 的路径
    Work directory 使用变量 $ProjectFileDir$
    完成
  5. 配置pyuic(用来建UI文件转为PY文件的)
    同上pycharm中File->Tools->Extrernal Tools->点击“+”号->弹出对话框,配置如下:
    Name: PyUIC
    Program: $FileDir$\venv\Scripts\python.exe
    Arguments: -m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
    Working directory: $FileDir$
  6. 配置pyrcc(用来建qrc文件转为PY文件的,一般存放图片的)
    Program: D:\Program Files (x86)\python37\Scripts\pyrcc5.exe
    Arguments: $FileName$ -o $FileNameWithoutExtension$_rc.py
    Working directory: $FileDir$
  7. QtDesigner设计完之后用pyinstaller,打包成单个exe文件
    pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstaller
    然后用pyinstaller -F -w xxx.py生成

基础

  1. 窗口有3类,QMainWindow,QWidget,QDiaglog
  2. QMainWindow:包含状态栏,工具栏,菜单栏,标题栏
  3. QDiaglog:对话窗口的基类,比如打开文件那种窗口
  4. QWidget:不确定使用什么窗口,用这个
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow ,QDesktopWidget
from PyQt5.QtGui import QIcon

class Example(QMainWindow):
    def __init__(self):
    super().__init__()	#调用父类的init初始化方法
	self.initUI()	#再调用自己的initUI初始化方法,方法在下面
        
	def initUI(self):
		self.setGeometry(300, 300, 300, 220)
		self.setWindowTitle('Icon')	#设置窗口标题
        self.setWindowIcon(QIcon('web.png'))	#设置窗口和程序图标
        self.show()	#显示出来
		
if __name__ == '__main__':
    	app = QApplication(sys.argv)	#固定写法,创建一个程序
    	ex = Example()	#创建一个类,基于主窗口基类
    	sys.exit(app.exec_())	#进入程序循环
  1. 如果用Qtdesign设计完导入到pycharm,使用底下代码
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow,QStyleFactory
from Qtdesign设计的文件名字 import *

if __name__ == "__main__":
    app = QApplication(sys.argv)
    app.setStyle(QStyleFactory.create("Fusion"))	#设置窗口风格	
    w = QMainWindow()
    ui = Ui_MainWindow()	#Ui_MainWindow是Qt设计的类
    ui.setupUi(w)	#调用类中的方法,并把一个主窗口对象传入方法
    w.show()
    sys.exit(app.exec_())

底下代码一般都是在Ui_MainWindow类的setupUi方法里

  • 设置图标self.setWindowIcon(QIcon('web.png')),需要导入QtGui
  • 控件的提示信息是self.setToolTip("xxxxx"),鼠标移入提示

QLabel控件

  • 文本显示控件,就是在GUI上显示一些文本
  • setAlignment(),对齐方式
  • setIndent(),缩进
  • text(),文本内容
  • setWordWrap,是否允许换行
  • 伙伴关系是指通过热键控制相应的

QlineEdit控件

  • 文本输入控件,比如账号密码等等
  • echomode回显模式,normal输入啥显示啥,noecho没显示,password密码显示,passwordechoedit退出编辑后变
  • 校验器和掩码,输入的内容必须符合规则,有点像正则

QTextEdit控件

  • 多行文本控件,比较少用自己学一下很简单

QButton控件

  • 按钮类控件,所有按钮的父类是AbstractButton
  • QPushButton普通按钮,
  • QRadioButton单选按钮,
  • QCheckButton多选按钮
  • QComebox下拉列表,下拉时选中的颜色可以在stylesheet改变selection-background-color: rgb(0, 85, 255);

信号和槽

  • 发送者:谁执行某个动作,比如某个按钮,触发了点击,发送者是按钮,发送者必须是窗口中的一个元素
  • 信号:某个动作(如点击,划过,释放,)
  • 接收者:必须是窗口中的一个元素
  • 槽:接收者收到信号后,执行某个动作或方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值