python qt5案例_Python高级进阶#020 pyqt5登录窗体实战,综合实践案例

知识回顾:

1.掌握菜单控件,调用类Qmainwindow

2.利用Qmenu的类型,由qmenubar来返回

3.点击情况:

子菜单addMenu。

直接点击事件addAction

本节知识视频教程

以下开始文字讲解:

一、案例:登录窗体

1.实现窗体的加载(有图标)

2.用户名和密码的登录框

3.能够将用户名和密码获取过来

二、开发过程

提问:开发思路中需要加载什么?

1.加载窗体Qwidget Qapplication

2.加载控件Qlabel,Qpushbutton,QLineEdit

3.加载提示框QMessagebox

想要让窗体加载时候居中的要点

前提是必须要知道窗体的自身的大小。

注意:窗体的大小最好先自定义好,采用resize方法,这样可以计算出来。

这里如果实现没有定义好大小,可能会出现不居中的情况。

如何使用密码框?

要求用符号代替显示,不能看见输入的内容。

我们通过设置qlineedit的输出模式echomode来配置。

举例:

self.lePassword.setEchoMode(QLineEdit.Password)

QLineEdit.Password表示密码模式。

窗体按钮的配置

为了显示更加友好,我们可以将不需要的按钮进行隐藏。

比如隐藏方法缩小按钮,只显示关闭按钮。

#隐藏放大缩小按钮

self.setWindowFlags(Qt.WindowCloseButtonHint)

退出应用程序

获取应用程序实例,直接使用exit方法退出。

QApplication.instance().exit()

登录与退出采用同一个槽进行处理的方法

def myBtnClick(self):

source=self.sender()

if source.text()=="登录":

pass

elif source.text()=="退出":

QApplication.instance().exit()

提示框的书写

这里我们直接提示信息方法。这样写的好处是直接可以加载消息,这是一种简略的配置。

QMessageBox.information(self,"消息","用户名:"+self.leUsername.text()+",密码:"+self.lePassword.text(),QMessageBox.Ok)

三、总结强调

1.掌握登录界面的开发思路

2.掌握密码模式的设置

3.掌握退出程序

4.掌握消息框的应用

本节知识源代码:import sys

from PyQt5.QtWidgets import QApplication,QWidget,QMessageBox,QLabel,QLineEdit,QPushButton,QFrame

from PyQt5.QtGui import QIcon

from PyQt5.QtCore import Qt

class MyClass(QWidget):

def __init__(self):

super().__init__()

self.initUI()

def initUI(self):

self.setWindowTitle("刘金玉编程")

self.resize(300,200)

self.move(desk.width()/2-self.width()/2,100)

myframe=QFrame(self)

lbl1=QLabel("用户名:",myframe)

lbl2=QLabel("密 码:",myframe)

lbl2.move(0,30)

self.leUsername=QLineEdit(myframe)

self.lePassword=QLineEdit(myframe)

self.leUsername.move(50,0)

self.lePassword.move(50,30)

self.lePassword.setEchoMode(QLineEdit.Password)

btnLogin=QPushButton("登录",myframe)

btnQuit=QPushButton("退出",myframe)

btnLogin.move(0,80)

btnQuit.move(80,80)

btnLogin.clicked.connect(self.myBtnClick)

btnQuit.clicked.connect(self.myBtnClick)

myframe.move(50,50)

myframe.resize(300,300)

#隐藏放大缩小按钮

self.setWindowFlags(Qt.WindowCloseButtonHint)

self.show()

def myBtnClick(self):

source=self.sender()

if source.text()=="登录":

QMessageBox.information(self,"消息","用户名:"+self.leUsername.text()+",密码:"+self.lePassword.text(),QMessageBox.Ok)

elif source.text()=="退出":

QApplication.instance().exit()

if __name__=="__main__":

app=QApplication(sys.argv)

app.setWindowIcon(QIcon("./img/liu.png"))

desk=app.desktop()

mc=MyClass()

app.exec_()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值