学习日志019--初识PyQt

使用pyqt创建一个登录界面

from PyQt6.QtCore import Qt
# 引入pyqt6包
from PyQt6.QtGui import QIcon, QMovie
from PyQt6.QtWidgets import QApplication, QWidget, QPushButton, QLabel, QLineEdit
import sys

class MyWidget(QWidget):
    # 构造函数,继承父类的构造函数
    def __init__(self):
        super().__init__()
        # 用标签设置背景
        mv = QMovie("D:\\xn\\1.gif")
        # 绑定标签与窗口
        lab1 = QLabel(self)
        # 设置标签的大小为窗口大小,作为背景
        lab1.resize(960,540)
        # 将动图填充并启动动图
        lab1.setMovie(mv)
        mv.start()
        # 自适应标签大小
        lab1.setScaledContents(True)

        # 设置界面大小
        self.resize(960,540)
        # 输入标题
        self.setWindowTitle("登录界面")
        # 上传窗口图标
        self.setWindowIcon(QIcon("D:\\xn\pictrue\\pictrue\\pictrue\\shuiGuo.png"))
        # self.setStyleSheet("background-color:black")
        # self.setWindowFlag(Qt.WindowType.FramelessWindowHint)

        #设置按钮
        batn1 = QPushButton("登录",self)
        # 设置大小
        batn1.resize(100,40)
        # 设置位置
        batn1.move(200,400)
        # 更改按钮字体颜色,背景颜色,消角
        batn1.setStyleSheet("background-color:rgb(0, 153, 255);border-radius:5px;color:white")
        # 设置按钮为可以使用
        batn1.setEnabled(True)
        # rgb(0, 153, 255)

        # 设置行编辑器
        edit1 = QLineEdit(self)
        # 设置行编译器大小及位置
        edit1.resize(200,30)
        edit1.move(150,200)
        # 消角
        edit1.setStyleSheet(";border-radius:5px")
        # background-color : transparent
        # 抢占给出提示
        edit1.setPlaceholderText("手机号/QQ号码/邮箱")

        # 设定标题 绑定窗口
        lab2 = QLabel("Logn In",self)
        # 设定标签大小及位置
        lab2.resize(200,30)
        lab2.move(200,150)
        # 设置标签字体颜色
        lab2.setStyleSheet("color:white")
    
        # 第二个行编辑器输入密码
        edit2 = QLineEdit(self)
        edit2.resize(200, 30)
        edit2.move(150, 250)
        edit2.setStyleSheet(";border-radius:5px")
        edit2.setPlaceholderText("密码")
        # 回显模式设为密码回显模式
        edit2.setEchoMode(QLineEdit.EchoMode.PasswordEchoOnEdit)
if __name__ == "__main__":
    # 一个应用程序只有一个
    app = QApplication(sys.argv)
    # 创建实例对象
    myWidget = MyWidget()
    # 窗口默认不显示,这里显示窗口
    myWidget.show()

    sys.exit(app.exec())

一、PyQt6程序入门实例

1】QApplication 类专门为QGuiApliaction类提供QWidget的应用程序所需要的一些功能,它可以处理小部件的特定初始化和结束。

2】QWidget类是所有Qt Gui界面类的基类

#将QT的应用程序类  窗口类导入进来
from PyQt6.QtWidgets import QApplication,QWidget

#sys是Python自带的模块 主要用来处理Python环境和运行一些功能的
import sys

#封装一个我的窗口类 继承于QWidget类
class MyWidget(QWidget):
    #显性定义出构造函数
    def __init__(self):
        #调用父类的初始化方法 完成父类的初始化
        super().__init__()


if __name__ == "__main__":
    #用应用程序类实例化一个应用程序对象
    app = QApplication(sys.argv)  #一个程序中 有且仅有一个应用程序对象

    #用我的窗口类 实例化一个我的窗口
    myWidget = MyWidget()

    #显示我的窗口   窗口默认不显示 需要调用show函数
    myWidget.show()

    #让应用程序进入 阻塞状态  消息循环
    sys.exit(app.exec())


二、求出当前窗口的大小

#求出当前窗口的大小
print(myWidget.size())  #宽 高
print(myWidget.size().width()) #宽
print(myWidget.size().height()) #高

print(myWidget.width()) #宽
print(myWidget.height()) #高

print(myWidget.geometry().width()) #宽
print(myWidget.geometry().height()) #高

三、窗口的尺寸、标题、背景颜色等相关设置

from PyQt6.QtWidgets import QApplication,QWidget
from PyQt6.QtGui import QIcon

from PyQt6.QtCore import Qt

import sys

#封装一个我的窗口类
class MyWidget(QWidget):
    #构造函数
    def __init__(self):
        #初始化父类
        super().__init__()

        #设置窗口标题
        self.setWindowTitle("我的窗口")

        #设置窗口图标
        self.setWindowIcon(QIcon("C:\\Users\\admin\\Desktop\\recent\\pictrue\\pictrue\\qq.png"))
        #self.setWindowIcon(QIcon("C:/Users/admin/Desktop/recent/pictrue/pictrue/qq.png"))

        #设置背景颜色
        #self.setStyleSheet("background-color:green")
        self.setStyleSheet("background-color:rgb(64,143,168)")

        #重新设置大小
        self.resize(540,400)

        #固定窗口大小
        self.setFixedSize(540,400)

        #设置纯净窗口  去掉头部
        self.setWindowFlag(Qt.WindowType.FramelessWindowHint)



if __name__ == "__main__":
    app = QApplication(sys.argv)

    myWidget = MyWidget()  #实例化对象时 自动调用构造函数

    #显示
    myWidget.show()

    sys.exit(app.exec())

 五、常用类(组件)的使用

5.1 按钮类 QPushButton

import sys

from PyQt6.QtGui import QIcon
from PyQt6.QtWidgets import QApplication, QWidget, QPushButton


#封装我的窗口类
class MyWidget(QWidget):
    #构造函数
    def __init__(self):
        #初始化父类
        super().__init__()

        self.resize(600,400)

        #创建第一个按钮
        btn1 = QPushButton()  #无参构造
        #btn1.show(),只会让组件独立显示
        #如果想让组件依赖于窗口显示  则需要给组件设置父组件(父对象)
        btn1.setParent(self)
        #设置文本
        btn1.setText("第一个按钮")
        #设置背景颜色
        btn1.setStyleSheet("background-color:green")


        #创建第二个按钮
        btn2 = QPushButton("第二个按钮",self)
        #移动
        btn2.move(100,200)
        #设置图标
        btn2.setIcon(QIcon("C:\\Users\\admin\\Desktop\\recent\\pictrue\\pictrue\\qq.png"))

        #创建第三个按钮
        btn3 = QPushButton(QIcon("C:\\Users\\admin\\Desktop\\recent\\pictrue\\pictrue\\qq.png"),"第三个按钮",self)
        btn3.move(200,150)
        btn3.resize(140,200)
        #设置按钮是否可用
        btn3.setEnabled(False) #不可用



if __name__ == "__main__":
    app = QApplication(sys.argv)

    myWidget = MyWidget()

    myWidget.show()

    sys.exit(app.exec())

5.2 行编辑器类 QLineEdit

import sys

from PyQt6.QtGui import QIcon
from PyQt6.QtWidgets import QApplication, QWidget, QLineEdit


#封装我的窗口类
class MyWidget(QWidget):
    #构造函数
    def __init__(self):
        #初始化父类
        super().__init__()

        self.resize(600,400)

        #创建第一个行编辑器
        edit1 = QLineEdit()
        edit1.setParent(self)
        edit1.resize(200,50)

        #创建第二个行编辑器
        edit2 = QLineEdit(self)
        edit2.move(300,200)
        #回显模式的设置
        edit2.setEchoMode(QLineEdit.EchoMode.Password)

        #创建第三个行编辑器
        edit3 = QLineEdit("张三",self) #默认文本
        edit3.move(400,300)

        #创建第四个行编辑器
        edit4 = QLineEdit(self)
        edit4.move(500,400)
        #设置占位
        edit4.setPlaceholderText("手机号/QQ号码/邮箱")








if __name__ == "__main__":
    app = QApplication(sys.argv)

    myWidget = MyWidget()

    myWidget.show()

    sys.exit(app.exec())

5.3 标签类 QLabel

一般用来显示文本或者图片的

import sys

from PyQt6.QtGui import QIcon, QPixmap, QMovie
from PyQt6.QtWidgets import QApplication, QWidget, QLabel, QPushButton


#封装我的窗口类
class MyWidget(QWidget):
    #构造函数
    def __init__(self):
        #初始化父类
        super().__init__()

        self.resize(600,400)

        #创建第一个标签
        lab1 = QLabel()
        lab1.setParent(self)
        lab1.resize(100,100)
        lab1.move(300,300)
        lab1.setStyleSheet("background-color:green")

        # 创建第二个标签
        lab2 = QLabel("我是一个标签",self)
        lab2.resize(100, 100)
        lab2.move(500, 300)

        # 创建第三个标签
        lab3 = QLabel(self)
        lab3.resize(300, 100)
        lab3.move(200, 200)
        #设置图片
        lab3.setPixmap(QPixmap("C:\\Users\\admin\\Desktop\\recent\\pictrue\\pictrue\\logo.png"))
        #设置自动适应
        lab3.setScaledContents(True)

        #创建第四个标签
        lab4 = QLabel(self)
        lab4.resize(600,200)
        lab4.setStyleSheet("background-color:green")
        #实例化一个动图对象  动图类 QMovie
        mv = QMovie("C:\\Users\\admin\\Desktop\\recent\\pictrue\\pictrue\\zz.gif")
        #将动图设置到标签中
        lab4.setMovie(mv)
        #让动图动起来
        mv.start()
        #自动适应
        lab4.setScaledContents(True)

        #按钮类
        btn1 = QPushButton("登录",self)
        btn1.move(100,500)
        btn1.resize(80,30)
        btn1.setStyleSheet("background-color:green;border-radius:3px;color:white")












if __name__ == "__main__":
    app = QApplication(sys.argv)

    myWidget = MyWidget()

    myWidget.show()

    sys.exit(app.exec())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值