PyQt5登陸工具 V2 0

2021-09-24 16:02:36 字數 4780 閱讀 3836

from pyqt5.qt import *

import sys

import math

class accounttool:#帳戶判定類

account_error=1

pwd_error=2

success=3

@staticmethod#定義靜態方法

def check_login(account,pwd):

#把帳號和密碼傳送給伺服器,等待伺服器返回結果

if account!="kaixinde101":

return accounttool.account_error

elif pwd!="12345678":

return accounttool.pwd_error

else:

return accounttool.success

class window(qwidget):

def __init__(self):

super().__init__()

self.setwindowtitle("登陸介面")

self.setwindowicon(qicon("d:\ico\ooopic_1552382147.ico"))

self.resize(500,200)

# self.password="12345678"

# self.username="kaixinde101"

self.co_width=40

self.co_heigth=20

self.setminimumsize(500,200)#設定最小尺寸500*200

self.setmaximumsize(500,200)#設定最大尺寸500*200

self.setup_ui()

def setup_ui(self):

self.lab_l=qlabel("帳戶:",self)#帳戶標籤

self.lin_l=qlineedit(self)#帳戶錄入框

self.lab_account_error=qlabel(self)#帳戶錄入報錯標籤

self.lab_p=qlabel("密碼:",self)#密碼標籤

self.lin_p=qlineedit(self)#密碼錄入框

self.lin_p.setechomode(qlineedit.password)#設定密文顯示

self.lab_password_error=qlabel(self)#密碼錄入報錯標籤

self.pu_l=qpushbutton(qicon("d:\ico\ooopic_1556416225.ico"),"登陸&l",self)#登陸按鈕

self.login_success=qlabel(self)#登陸結果

self.pu_l.clicked.connect(self.login)

self.lin_l.textchanged.connect(self.cls_err_show)#帳戶登內容改變

self.lin_p.textchanged.connect(self.cls_err_show)#密碼登內容改變

#self.lab_l.keypressevent()

#self.lin_l.keypressevent(lambda:self.lin_p.setfocus())#鍵盤按下切換焦點

def resizeevent(self, evt):#重新設定控制項座標事件

#帳戶標籤

self.lab_l.resize(self.co_width,self.co_heigth)

self.lab_l.move(self.width()/3,self.height()/5)

#帳戶錄入框

self.lin_l.move(self.lab_l.x()+self.lab_l.width(),self.lab_l.y())

#帳戶報錯提示框

self.lab_account_error.resize(100,20)

self.lab_account_error.move(self.lin_l.x(),self.lin_l.y()+self.lin_l.height()/1.3)

#密碼標籤

self.lab_p.resize(self.co_width,self.co_heigth)

self.lab_p.move(self.lab_l.x(),self.lab_l.y()+self.lab_l.height()*2.2)

#密碼錄入框

self.lin_p.move(self.lab_p.x()+self.lab_p.width(),self.lab_p.y())

#密碼報錯提示框

self.lab_password_error.resize(100,20)

self.lab_password_error.move(self.lin_p.x(),self.lin_p.y()+self.lin_p.height()/1.3)

#登陸按鈕

self.pu_l.move(self.lin_p.x()+self.lin_p.width()/4,self.lab_p.y()+self.lab_p.height()*2.2)

#登陸結果

self.login_success.resize(100,20)

self.login_success.move(self.lin_p.x(),self.pu_l.y()+self.pu_l.height())

def login(self):

state=accounttool.check_login(self.lin_l.text(),self.lin_p.text())

if state==accounttool.account_error:

self.lin_l.settext("")

self.lin_p.settext("")

self.lin_l.setfocus()#設定焦點

#self.lab_account_error.setstylesheet("background-color:red;")#設定背景顏色為紅色

self.lab_account_error.setstylesheet("color:red;")#設定字型顏色為紅色

self.lab_account_error.settext("帳戶錄入錯誤!!")

#print("帳戶錄入錯誤!!")

elif state==accounttool.pwd_error:

self.lin_p.settext("")

#self.lab_password_error.setstylesheet("background-color:red;")#設定背景顏色為紅色

self.lab_password_error.setstylesheet("color:red;")#設定字型顏色為紅色

self.lab_password_error.settext("密碼錄入錯誤!!")

#print("密碼錄入錯誤!!")

self.lin_p.setfocus()#設定焦點

elif state==accounttool.success:

#self.login_success.setstylesheet("background-color:green;")#設定背景顏色為綠色

self.login_success.setstylesheet("color:green;")#設定字型顏色為綠色

self.login_success.settext("登陸成功!!")

#print("登陸成功!!")

def cls_err_show(self):

self.lab_account_error.settext("")

self.lab_password_error.settext("")

self.login_success.settext("")

#self.lab_password_error.setstylesheet("background-color:white;")#設定密碼提示框背景顏色為白色

#self.lab_account_error.setstylesheet("background-color:white;")#設定帳戶提示框背景顏色為白色

#self.login_success.setstylesheet("background-color:white;")#設定登陸提示框背景顏色為白色

# if (self.lin_l.text()==self.username and self.lin_p.text()==self.password):

# print("登陸成功!!")

# elif(self.lin_l.text()!=self.username):

# self.lin_l.settext("")

# self.lin_p.settext("")

# self.lin_l.setfocus()#設定焦點

# print("帳戶錄入錯誤!!")

# elif(self.lin_p.text()!=self.password):

# self.lin_p.settext("")

# print("密碼錄入錯誤!!")

# self.lin_p.setfocus()#設定焦點

PyQt5 登陸介面

self.setwindowtitle 登陸介面 self.setwindowicon qicon d ico ooopic 1552382147.ico self.resize 500,200 self.password 12345678 self.username kaixinde101 sel...

PyQt5教程 03 工具提示

下面的程式將教會我們如何使用控制項的工具提示功能。usr bin python3 coding utf 8 pyqt5 教程 這個例子顯示了視窗和按鈕氣泡工具提示。部落格 import sys qtooltip,qpushbutton from pyqt5.qtgui import qfont cl...

PyQt5簡單小工具製作步驟

學了幾個月的python了,突然想做點自己的工具,想起自己以前用qt寫c 的gui的時候,記得用pyqt可以寫gui,就學了一周。把基本的東西都看了一遍,感覺和qt差不多!但是pyqt5 的中文資料少的可憐啊!如果又想學的朋友可以參考下我的這個小工具製作過程!先看 import sys from p...