Python Pyqt5入门

目录

一、入门——创建简单的界面

二、模块介绍

控件:按钮、文本、输入框(文本框) 

 1、按钮——QPushButton&QRadioButton

2、文本——QLabel

 3、输入框(文本框)——QLineEdit

布局(约束):盒子布局(最常用)、网格布局(九宫格布局)、表单布局、抽屉布局

1、盒子布局——QBoxLayout

2、网格布局(九宫格布局)——QGridLayout

3、表单布局 ——QFormLayout

4、抽屉布局——QStackedLayout

窗口:QWidget、QMainWindow、QDialog

1、QWidget:

2、QMainWindow:

3、QDialog: 

信号与槽:接受信号、自定义信号

1、接受信号

2、自定义信号 

三、ui文件 


一、入门——创建简单的界面

from PyQt5.QtWidgets import QApplication,QWidget

from PyQt5.QtGui import QIcon

import sys

if __name__=="__main__":

    app=QApplication(sys.argv)#相当于打开界面(①不能少)

    w=QWidget()#创建界面对象

    w.setWindowTitle("第一个标题") #设置窗口标题

    w.resize(300,300)#设置窗口大小

    #w.move(0,0)#设置窗口在屏幕的位置,(0,0)为左上角

    w.setWindowIcon(QIcon("./bg.png"))#设置窗口图标

    w.show()#展示窗口

    app.exec_()#程序进行循环等待状态 相当于检测界面(②不能少)

效果:

二、模块介绍

常用的三个功能模块:

  • QtCore:包含了核心的非GUI的功能。主要和时间、文件与文件夹、各种数据、流、URLs、mime类文件、进程与线程一起使用
  • QtGui:包含了窗口系统、事件处理、2D图像、基本绘画、字体和文字类
  • QtWidgets:包含了一些列创建桌面应用的UI元素

控件:按钮、文本、输入框(文本框) 

 1、按钮——QPushButton&QRadioButton

QPushButton:

from PyQt5.QtWidgets import QApplication,QWidget

import sys

from PyQt5.QtWidgets import QPushButton

if __name__=="__main__":

    app=QApplication(sys.argv)#相当于打开界面(①不能少)

    w=QWidget()#创建界面对象

    w.setWindowTitle("第一个标题") #设置窗口标题

    #创建按钮

    btn=QPushButton("按钮")

    btn.setParent(w)#设置按钮btn为当前w窗口的,相当于再w窗口中显示这btn按钮

    w.show()#展示窗口

    app.exec_()#程序进行循环等待状态 相当于检测界面(②不能少)

效果: 

按钮

 QRadioButton:

from PyQt5 import QtCore

from PyQt5.QtWidgets import QApplication,QWidget

from PyQt5.QtGui import QIcon

import sys

from PyQt5.QtWidgets import QRadioButton

if __name__=="__main__":

    app=QApplication(sys.argv)#相当于打开界面(①不能少)

    w=QWidget()

    w.resize(300,300)

    btn1=QRadioButton("男",w)

    btn1.setGeometry(10,0,30,30)#按钮存放的位置,在(20,20)位置,宽高为(300,30)

    btn2=QRadioButton("女",w)

    btn2.setGeometry(40,0,30,30)

    w.show()#展示窗口

    app.exec_()#程序进行循环等待状态 相当于检测界面(②不能少)

效果: 

2、文本——QLabel

from PyQt5.QtWidgets import QApplication,QWidget

from PyQt5.QtWidgets import QLabel

import sys

if __name__=="__main__":

    app=QApplication(sys.argv)#相当于打开界面(①不能少)

    w=QWidget()#创建界面对象

    w.setWindowTitle("第一个标题") #设置窗口标题

    #创建文本

    #方法一(同上,使用调用方法来指定父类)

    label=QLabel("账号:")

    label.setParent(w)

    #方法二(创建时就指定父类)

    label=QLabel("账户:",w)

   

    #设置文本位置与大小

    label.setGeometry(20,20,300,30)#在(20,20)位置,宽高为(300,30)

    w.show()#展示窗口

    app.exec_()#程序进行循环等待状态 相当于检测界面(②不能少)

效果: 

 

注意:

文本位置:是以红色点为原点

 3、输入框(文本框)——QLineEdit

from PyQt5.QtWidgets import QApplication,QWidget

from PyQt5.QtWidgets import QLabel

from PyQt5.QtWidgets import QLineEdit

import sys

if __name__=="__main__":

    app=QApplication(sys.argv)#相当于打开界面(①不能少)

    w=QWidget()#创建界面对象

    w.setWindowTitle("第一个标题") #设置窗口标题

    #创建文本

    label=QLabel("账户:",w)

    #设置文本位置与大小

    label.setGeometry(20,20,300,30)#在(20,20)位置,宽高为(300,30)

    #创建文本框(输入框)

    edit=QLineEdit(w)

    edit.setPlaceholderText("请输入账号")

    edit.setGeometry(55,20,200,20)

    

    #创建按钮

    btn=QPushButton("按钮",w)

    btn.setGeometry(50,80,70,30)

    w.show()#展示窗口

    app.exec_()#程序进行循环等待状态 相当于检测界面(②不能少)

效果:

总结&补充:

①设置位置大小:xx.setGeometry(x,y,w,h) #xx为控件对象,(x,y),宽w,高h

②返回位置大小:xx.frameGeometry().getRect()   #元组

③去掉标题栏(即窗口标题与图标不显示):from PyQt5 import Qt      w.setWindowFlags(Qt.Qt.Customiz

  • 23
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值