主要功能为实现注册、登录界面的切换以及整体窗口的拖动
学习链接:Python/PyQt5/Qtdesigner设计登录界面___拖动和关闭_哔哩哔哩_bilibili
Python/PyQt5/Qtdesigner设计登录界面——包括登录和注册界面切换_哔哩哔哩_bilibili
附下方代码链接: https://pan.baidu.com/s/1Ax4riQJ2C5F-V_usfVFyqg
提取码: zz11
# @Author :zwx
# @time :2022/7/18 下午4:38
# @file :main.py
import login
import sys
from PyQt5 import QtCore, QtGui
from PyQt5.QtWidgets import QApplication, QMainWindow
class LoginWindow(QMainWindow):
def __init__(self):
super().__init__()
self.ui = login.Ui_MainWindow()
self.ui.setupUi(self)
self.ui.widget_3.hide()
self.ui.pushButton.clicked.connect(self.change_widget2) # 信号与槽的绑定 connect绑定事件时,需要注意添加self.xxx(事件名)
self.ui.pushButton_2.clicked.connect(self.change_widget3)
def change_widget3(self): # 定义 点击切换登录--->注册事件
self.ui.widget_2.hide()
self.ui.widget_3.show()
def change_widget2(self): # 定义 点击切换注册--->登录事件
self.ui.widget_3.hide()
self.ui.widget_2.show()
def mousePressEvent(self, event):
if event.button() == QtCore.Qt.LeftButton and self.isMaximized() == False:
self.m_flag = True
self.m_Position = event.globalPos() - self.pos() # 获取鼠标相对窗口的位置
event.accept()
self.setCursor(QtGui.QCursor(QtCore.Qt.OpenHandCursor)) # 更改鼠标图标
def mouseMoveEvent(self, mouse_event):
if QtCore.Qt.LeftButton and self.m_flag:
self.move(mouse_event.globalPos() - self.m_Position) # 更改窗口位置
mouse_event.accept()
def mouseReleaseEvent(self, mouse_event):
self.m_flag = False
self.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
if __name__ == '__main__':
app = QApplication(sys.argv)
win = LoginWindow()
# loginUi = login.Ui_MainWindow()
# loginUi.setupUi(win)
# loginUi.widget_3.hide()
# def change_widget3():
# loginUi.widget_2.hide()
# loginUi.widget_3.show()
#
# def change_widget2():
# loginUi.widget_3.hide()
# loginUi.widget_2.show()
# 实现窗口拖动
# def mousePressEvent(self, event):
# if event.button() == QtCore.Qt.LeftButton and self.isMaximized() == False:
# self.m_flag = True
# self.m_Position = event.globalPos() - self.pos() # 获取鼠标相对窗口的位置
# event.accept()
# self.setCursor(QtGui.QCursor(QtCore.Qt.OpenHandCursor)) # 更改鼠标图标
#
#
# def mouseMoveEvent(self, mouse_event):
# if QtCore.Qt.LeftButton and self.m_flag:
# self.move(mouse_event.globalPos() - self.m_Position) # 更改窗口位置
# mouse_event.accept()
#
#
# def mouseReleaseEvent(self, mouse_event):
# self.m_flag = False
# self.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
# loginUi.pushButton.clicked.connect(change_widget2) # 信号与槽的绑定change_widget2
# loginUi.pushButton_2.clicked.connect(change_widget3)
win.show()
sys.exit(app.exec_())