PyQt5-登录界面跳转主界面方法

Login.py(登录窗口)文件

import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import *
from PyQt5.QtWidgets import QFileDialog, QMessageBox, QDockWidget, QListWidget
from PyQt5.QtGui import *

from Ui_Login import Ui_Login_Window  #由.UI文件生成.py文件后,导入创建的GUI类

from Main import * # Main.py为 主窗口代码文件

from class_MSSQL import MSSQL



#QtWidgets.QMainWindow:继承该类方法
class Login_window(QtWidgets.QMainWindow,Ui_Login_Window):  
 
    #__init__: 析构函数,也就是类被创建后就会预先加载的项目。
    # 马上运行,这个方法可以用来对你的对象做一些你希望的初始化。
    def __init__(self):  
        #这里需要重载一下Login_window,同时也包含了QtWidgets.QMainWindow的预加载项。
        super(Login_window, self).__init__()  
        self.setupUi(self)

        # 将点击事件与槽函数进行连接
        self.btn_login.clicked.connect(self.btn_login_fuc) 



    #登录按钮 函数
    def btn_login_fuc(self):
        #1 获取输入的账户和密码
        account = self.txt_1.text()  # 记得text要打括号()!
        password = self.txt_2.text()
        if account == "" or password == "":
            reply = QMessageBox.warning(self,"警告","账号密码不能为空,请输入!")
            return

        #2 查询数据库,判定是否有匹配
        ms = MSSQL()
        result = ms.Login_result(account, password)
        if(len(result) > 0):
            #1打开新窗口
            Ui_Main.show()
            #2关闭本窗口
            self.close()
        else:
            reply = QMessageBox.warning(self,"警告","账户或密码错误,请重新输入!")


if __name__ == '__main__': #如果这个文件是主程序。
    app = QtWidgets.QApplication(sys.argv) #QApplication相当于main函数,也就是整个程序(很多文件)的主入口函数。对于GUI程序必须至少有一个这样的实例来让程序运行。
    window = Login_window() #生成一个实例(对象)
    Ui_Main = Ui_Main() #生成主窗口的实例
    window.show() #有了实例,就得让它显示。这里的show()是QWidget的方法,用来显示窗口。
    sys.exit(app.exec_()) # 调用sys库的exit退出方法,条件是app.exec_()也就是整个窗口关闭。

 Main.py(主窗口)文件

import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *

from Ui_Main import Ui_MainWindow  #由.UI文件生成.py文件后,导入创建的GUI类

import math
from PIL import Image, ImageDraw, ImageFont  
import numpy as np
import os
import cv2 as cvcv

from class_Detection import Detection


class Ui_Main(QtWidgets.QMainWindow,Ui_MainWindow):  
 
    def __init__(self): 
        super(Ui_Main, self).__init__()  
        self.setupUi(self)

        # 将点击事件与槽函数进行连接
        self.btn_video.clicked.connect(self.btn_video_fuc)


    def btn_video_fuc(self):
        filename = QFileDialog.getOpenFileName(self,'open file','./')

        self.timer_camera = QTimer(self)

        self.cap = cvcv.cv2.VideoCapture(filename[0])

        self.timer_camera.timeout.connect(self.show_pic)
        self.timer_camera.start(10) #1毫秒


    def show_pic(self):
        dc = Detection()
        success,frame = self.cap.read()
        

        if success:
            show = dc.process_image(frame)
            showImage = QImage(show.data, show.shape[1], show.shape[0],QImage.Format_RGB888)
            self.label.setPixmap(QPixmap.fromImage(showImage)) 
            self.label.setScaledContents(True)  #图片自适应
            self.timer_camera.start(10)



if __name__ == '__main__': 
    app = QtWidgets.QApplication(sys.argv) 
    window = Ui_Main()
    window.show() 
    sys.exit(app.exec_())

欢迎加入技术讨论群,无广告,纯技术,欢迎各位大佬,也欢迎新手,群内禁止歧视新手,大佬自愿回答问题。

  • 1
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
实现登录界面跳转界面方法可以通过以下步骤完成: 1. 创建登录界面界面的类,分别为LoginWindowMainWindow。 2. 在LoginWindow类中添加登录按钮的槽函数,用于验证用户名和密码是否正确。 3. 如果用户名和密码正确,使用QMessageBox提示登录成功,并且创建MainWindow对象。 4. 隐藏登录界面,显示界面。 下面是实现登录界面跳转界面的示例代码: ``` from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QPushButton, QMessageBox from PyQt5.QtGui import QIcon from PyQt5.QtCore import Qt class LoginWindow(QWidget): def __init__(self): super().__init__() self.setWindowTitle('登录') self.setWindowIcon(QIcon('icon.png')) self.resize(300, 200) self.username_label = QLabel('用户名:', self) self.username_label.move(50, 50) self.username_edit = QLineEdit(self) self.username_edit.move(110, 50) self.password_label = QLabel('密码:', self) self.password_label.move(50, 100) self.password_edit = QLineEdit(self) self.password_edit.setEchoMode(QLineEdit.Password) self.password_edit.move(110, 100) self.login_button = QPushButton('登录', self) self.login_button.move(110, 150) self.login_button.clicked.connect(self.login) def login(self): username = self.username_edit.text() password = self.password_edit.text() if username == 'admin' and password == '123456': QMessageBox.information(self, '提示', '登录成功!') main_window = MainWindow() self.hide() main_window.show() else: QMessageBox.warning(self, '提示', '用户名或密码错误!') class MainWindow(QWidget): def __init__(self): super().__init__() self.setWindowTitle('界面') self.setWindowIcon(QIcon('icon.png')) self.resize(400, 300) if __name__ == '__main__': app = QApplication([]) login_window = LoginWindow() login_window.show() app.exec_() ``` 在上面的示例代码中,当用户点击登录按钮时,会调用LoginWindow类中的login函数,该函数会获取用户名和密码的值,如果用户名和密码都是正确的,就会弹出提示框,并且创建MainWindow对象。然后,隐藏登录界面,显示界面

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山中七哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值