基于Python PYQT5的GUI亚丁号辅助登陆界面

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
简介: 基于Python PYQT5的GUI亚丁号辅助登陆界面

一、准备工作

1、Python 3.7 (没升级)

2、pyqt5(6的api改了好多并且网上资料少)

3、pycharm社区版

4、OS widows11

二、真相

三、实际代码

主要就是个布局,界面是固定的因此采用绝对定位。

import sys
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QIcon, QImage, QPixmap, QFont, QPalette
from PyQt5.QtWidgets import QApplication, QWidget, QDesktopWidget, QLabel, QLineEdit, QCheckBox, QPushButton, \
    QMessageBox
from framework.base.BaseWidget import BaseWidget
class LoginViews(BaseWidget):
    def __init__(self):
        BaseWidget.__init__(self)
        self.initUI()
    def initUI(self):
        self.resize(360, 500)
        self.setFixedSize(400, 500)
        self.center()
        self.setWindowFlags(Qt.WindowCloseButtonHint|Qt.WindowStaysOnTopHint)
        self.setWindowTitle('亚丁号小助手登陆')
        self.setWindowIcon(QIcon('./framework/resource/icon/hunter.ico'))
        palette = QPalette()
        palette.setColor(QPalette.Background, Qt.white)
        self.setPalette(palette)
        pixmap = QPixmap("./framework/resource/images/hunter.png")
        label = QLabel(self)
        label.setPixmap(pixmap)
        label.move(60,40)
        custom_font = QFont()
        custom_font.setPointSize(18)
        #QApplication.setFont(custom_font, "QLabel")
        lbl1 = QLabel('亚丁号小助手登陆', self)
        lbl1.setFont(custom_font)
        lbl1.move(110, 44)
        # redImg = QImage()
        # QImage.load(redImg, './data/red.png', format='png')
        # lbl1.setPixmap(QtGui.QPixmap(redImg))
        pixmap = QPixmap("./framework/resource/images/splitline.png")
        label = QLabel(self)
        label.setPixmap(pixmap)
        label.move(0, 90)
        lb_uname = QLabel('请输入用户名:', self)
        lb_uname.move(20, 120)
        self.userName=QLineEdit(self)
        self.userName.move(20, 150)
        self.userName.setPlaceholderText("请输入用户名")
        self.userName.setAlignment(Qt.AlignLeft)
        self.userName.setStyleSheet("border-width:1px;border-style:solid;width:350px;height:25px")
        self.userName.setText("zhangy")
        lb_pword = QLabel('请输入密码:', self)
        lb_pword.move(20, 190)
        self.passWord = QLineEdit(self)
        self.passWord.move(20, 220)
        self.passWord.setPlaceholderText("请输入密码")
        self.passWord.setAlignment(Qt.AlignLeft)
        self.passWord.setStyleSheet("border-width:1px;border-style:solid;width:350px;height:25px")
        self.passWord.setText("123123")
        self.passWord.setEchoMode(QLineEdit.Password)
        remeber_me = QCheckBox(self)
        remeber_me.move(20, 270)
        remeber_me.setText('自动登录')
        login_button = QPushButton(self)
        login_button.setText("立即登录")  # text
        login_button.move(20, 300)
        login_button.clicked.connect(self.login)
        login_button.setStyleSheet("border-width:1px;border-style:solid;width:360px;height:28px;background-color:#0081FF;font-size:18px;color:white")
        lb_pword = QLabel('还没有账号?', self)
        lb_pword.move(102, 345)
        register_button = QPushButton(self)
        register_button.setText("立即注册")  # text
        register_button.move(185, 342)
        register_button.setStyleSheet("border:none;margin-top:2px;color:#FFA500")
        register_button.clicked.connect(self.reg)
        yadinghao_button = QPushButton(self)
        yadinghao_button.setText("亚丁号")  # text
        yadinghao_button.move(255, 342)
        yadinghao_button.setStyleSheet("border:none;margin-top:2px;color:#FFA500")
        yadinghao_button.clicked.connect(self.open_yadinghao)
    def center(self):
        qr = self.frameGeometry()
        cp = QDesktopWidget().availableGeometry().center()
        qr.moveCenter(cp)
        self.move(qr.topLeft())
    def reg(self):
        # self.window.quit()
        # self.window.destroy()
        # from framework.views.RegisterView import RegisterView
        # RegisterView()
        pass
    def open_yadinghao(self):
        import webbrowser
        webbrowser.open("https://www.yadinghao.com/")
    def login(self):
        errMessage = ""
        if len(self.userName.text()) == 0:
            errMessage = errMessage + "用户名不能为空!\r"
        if len(self.passWord.text()) == 0:
            errMessage = errMessage + "密码不能为空!"
        if errMessage != "":
            QMessageBox.information(self, '提示', errMessage)
            return
        user_name = self.userName.text()
        pass_word = self.passWord.text()
        from framework.views.MainViews import MainViews
        self.main = MainViews()
        self.main.show()
        self.hide()

四、总结

勤学习勤记录勤分享

最后送大家一首诗:

山高路远坑深,

大军纵横驰奔,

谁敢横刀立马?

惟有点赞加关注大军。

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
1月前
|
测试技术 开发者 Python
Python(GUI)之活动积分记录表
本文介绍了一套使用Python的Tkinter库构建的学生活动积分记录系统。该系统允许教师选择班级和学生,输入加分分数及原因,并将数据保存至文件,旨在简化学生积分管理流程,提升教学效率。
55 6
|
1月前
|
数据可视化 开发者 Python
Python GUI开发:Tkinter与PyQt的实战应用与对比分析
【10月更文挑战第26天】本文介绍了Python中两种常用的GUI工具包——Tkinter和PyQt。Tkinter内置于Python标准库,适合初学者快速上手,提供基本的GUI组件和方法。PyQt基于Qt库,功能强大且灵活,适用于创建复杂的GUI应用程序。通过实战示例和对比分析,帮助开发者选择合适的工具包以满足项目需求。
133 7
|
2月前
|
数据可视化 IDE 开发工具
【Python篇】PyQt5 超详细教程——由入门到精通(中篇二)
【Python篇】PyQt5 超详细教程——由入门到精通(中篇二)
342 13
|
3月前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
133 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
2月前
|
计算机视觉 Python
python利用pyqt5和opencv打开电脑摄像头并进行拍照
本项目使用Python的PyQt5和OpenCV库实现了一个简单的摄像头应用。用户可以通过界面按钮打开或关闭摄像头,并实时预览视频流。点击“拍照”按钮可以捕捉当前画面并保存为图片文件。该应用适用于简单的图像采集和处理任务。
171 0
python利用pyqt5和opencv打开电脑摄像头并进行拍照
|
2月前
|
数据可视化 测试技术 Linux
基于Python后端构建多种不同的系统终端界面研究
【10月更文挑战第10天】本研究探讨了利用 Python 后端技术构建多样化系统终端界面的方法,涵盖命令行界面(CLI)、图形用户界面(GUI)及 Web 界面。通过分析各种界面的特点、适用场景及关键技术,展示了如何使用 Python 标准库和第三方库(如 `argparse`、`click`、`Tkinter` 和 `PyQt`)实现高效、灵活的界面设计。旨在提升用户体验并满足不同应用场景的需求。
|
2月前
|
数据可视化 IDE Linux
【Python篇】PyQt5 超详细教程——由入门到精通(序篇)
【Python篇】PyQt5 超详细教程——由入门到精通(序篇)
396 2
|
2月前
|
数据可视化 IDE 开发者
【Python篇】PyQt5 超详细教程——由入门到精通(终篇)
【Python篇】PyQt5 超详细教程——由入门到精通(终篇)
420 1
|
2月前
|
数据可视化 数据处理 数据库
【Python篇】PyQt5 超详细教程——由入门到精通(中篇一)
【Python篇】PyQt5 超详细教程——由入门到精通(中篇一)
190 1
|
3月前
|
Web App开发 存储 安全
Python编写脚本,打开浏览器输入网址,自动化登陆网站
Python编写脚本,打开浏览器输入网址,自动化登陆网站
201 4