python登录界面跳转主界面_完美解决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(s

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用QStackedWidget来实现登录界面界面之间的跳转。具体步骤如下: 1. 在Qt Designer中创建两个窗口,一个是登录界面,一个是界面。 2. 在登录界面中添加一个按钮,当用户点击该按钮时,跳转界面。 3. 在界面中添加一个按钮,当用户点击该按钮时,返回登录界面。 4. 在函数中初始化两个窗口,并使用QStackedWidget将它们添加到堆栈中。 5. 在登录界面中的按钮槽函数中,使用堆栈的setCurrentIndex()函数将堆栈切换到界面。 6. 在界面中的按钮槽函数中,使用堆栈的setCurrentIndex()函数将堆栈切换回登录界面。 以下是一个简单的示例代码: ``` python from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout, QStackedWidget class LoginWidget(QWidget): def __init__(self): super().__init__() self.login_button = QPushButton("Login") self.login_button.clicked.connect(self.switch_to_main) layout = QVBoxLayout() layout.addWidget(self.login_button) self.setLayout(layout) def switch_to_main(self): stacked_widget.setCurrentIndex(1) class MainWidget(QWidget): def __init__(self): super().__init__() self.back_button = QPushButton("Back") self.back_button.clicked.connect(self.switch_to_login) layout = QVBoxLayout() layout.addWidget(self.back_button) self.setLayout(layout) def switch_to_login(self): stacked_widget.setCurrentIndex(0) if __name__ == '__main__': app = QApplication([]) stacked_widget = QStackedWidget() login_widget = LoginWidget() main_widget = MainWidget() stacked_widget.addWidget(login_widget) stacked_widget.addWidget(main_widget) stacked_widget.show() app.exec_() ``` 在这个示例中,我们创建了两个QWidget窗口:LoginWidget和MainWidget。在LoginWidget中,我们添加了一个QPushButton,当用户点击该按钮时,切换到MainWidget。在MainWidget中,我们添加了一个QPushButton,当用户点击该按钮时,切换回LoginWidget。我们使用QVBoxLayout将按钮添加到QWidget中。 在函数中,我们创建了一个QStackedWidget,并将LoginWidget和MainWidget添加到堆栈中。我们使用setCurrentIndex()函数初始化堆栈并显示它。当用户点击按钮时,我们使用setCurrentIndex()函数切换窗口。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值