首页 技术 正文
技术 2022年11月18日
0 收藏 944 点赞 4,878 浏览 2559 个字

该问题,有很多种方法,但是很多方法要么这个有问题,要么那个有问题,最后终于找到一种没问题的方法。记录一下:

参考地址:https://www.jianshu.com/p/d18ff36a78d6?from=singlemessage

Login.py(登录窗口)文件

import sysfrom PyQt5 import QtCore, QtGui, QtWidgetsfrom PyQt5.QtCore import *from PyQt5.QtWidgets import QFileDialog, QMessageBox, QDockWidget, QListWidgetfrom 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 sysfrom PyQt5 import QtCore, QtGui, QtWidgetsfrom PyQt5.QtCore import *from PyQt5.QtWidgets import *from PyQt5.QtGui import *from Ui_Main import Ui_MainWindow  #由.UI文件生成.py文件后,导入创建的GUI类import mathfrom PIL import Image, ImageDraw, ImageFontimport numpy as npimport osimport cv2 as cvcvfrom class_Detection import Detectionclass 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_()) 

PYQT5登录界面跳转主界面方法    PYQT5登录界面跳转主界面方法

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,031
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,520
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,368
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,148
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,781
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,860