다른 pyqt5 애플리케이션에서 pyqt5 애플리케이션을 여는 방법은 무엇입니까?

adityakush24

파일명 : login.py

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'mainwindow.ui'
#
# Created by: PyQt5 UI code generator 5.9
#
# WARNING! All changes made in this file will be lost!

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_login(object):
    key=-1
    def overall_coordinator_clicked(self):
                self.overall_coordinator.setStyleSheet("border-bottom:3px solid red;\n"
"border-top:3px solid red;\n")
                self.coordinator.setStyleSheet("border:2px solid white;")
                self.member.setStyleSheet("border:2px solid white;")
                self.volunteer.setStyleSheet("border:2px solid white;")
                key=0
    def coordinator_clicked(self):
                self.overall_coordinator.setStyleSheet("border:2px solid white;")
                self.coordinator.setStyleSheet("border-bottom:3px solid red;\n"
"border-top:3px solid red;\n")
                self.member.setStyleSheet("border:2px solid white;")
                self.volunteer.setStyleSheet("border:2px solid white;")
                key=1
    def member_clicked(self):
                self.overall_coordinator.setStyleSheet("border:2px solid white;")
                self.coordinator.setStyleSheet("border:2px solid white;")
                self.member.setStyleSheet("border-bottom:3px solid red;\n"
"border-top:3px solid red;\n")
                self.volunteer.setStyleSheet("border:2px solid white;")
                key=2
    def volunteer_clicked(self):
                self.overall_coordinator.setStyleSheet("border:2px solid white;")
                self.coordinator.setStyleSheet("border:2px solid white;")
                self.member.setStyleSheet("border:2px solid white;")
                self.volunteer.setStyleSheet("border-bottom:3px solid red;\n"
"border-top:3px solid red;\n")
                key=3
    #def login(self):

    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(923, 606)
        MainWindow.setMinimumSize(QtCore.QSize(923, 606))
        MainWindow.setMaximumSize(QtCore.QSize(923, 606))
        MainWindow.setAutoFillBackground(False)
        MainWindow.setStyleSheet("background:#1A237E;")
        self.centralWidget = QtWidgets.QWidget(MainWindow)
        self.centralWidget.setObjectName("centralWidget")
        self.widget = QtWidgets.QWidget(self.centralWidget)
        self.widget.setGeometry(QtCore.QRect(330, 30, 231, 201))
        self.widget.setStyleSheet("border-image:url(\"techfusion_logo.png\");")
        self.widget.setObjectName("widget")
        self.login_btn = QtWidgets.QPushButton(self.centralWidget)
        self.login_btn.setGeometry(QtCore.QRect(350, 480, 200, 41))
        self.login_btn.setStyleSheet(" color:white;\n"
" background-color:#1A237E;\n"
" border-radius:20px;\n"
"font-weight:bold;\n"
"font-size:18px;\n"
"border : 2px solid white;\n"
"\n"
"")
        self.login_btn.setObjectName("login_btn")
        #self.login_btn.clicked.connect(self.login)
        self.login_password = QtWidgets.QLineEdit(self.centralWidget)
        self.login_password.setGeometry(QtCore.QRect(290, 420, 331, 25))
        self.login_password.setStyleSheet("border: 1px solid transparent;\n"
"border-bottom:2px solid white;\n"
"color:white;\n"
"background-color:transparent;")
        self.login_password.setText("")
        self.login_password.setEchoMode(QtWidgets.QLineEdit.Password)
        self.login_password.setObjectName("login_password")
        self.login_username = QtWidgets.QLineEdit(self.centralWidget)
        self.login_username.setGeometry(QtCore.QRect(290, 370, 331, 25))
        self.login_username.setStyleSheet("border: 1px solid transparent;\n"
"border-bottom:2px solid white;\n"
"background-color:transparent;\n"
"color:white;\n"
"")
        self.login_username.setObjectName("login_username")
        self.designation = QtWidgets.QGroupBox(self.centralWidget)
        self.designation.setGeometry(QtCore.QRect(100, 280, 701, 61))
        self.designation.setStyleSheet("color:white;\n"
"font-weight:bold;\n"
"border:0px solid transparent;")
        self.designation.setAlignment(QtCore.Qt.AlignCenter)
        self.designation.setObjectName("designation")
        self.overall_coordinator = QtWidgets.QPushButton(self.designation)
        self.overall_coordinator.setGeometry(QtCore.QRect(-10, 30, 181, 28))
        self.overall_coordinator.setStyleSheet("border: 2px solid white;\n"
"background-color:transparent;\n"
"font-weight:normal;\n"
"color:white;\n"
"")
        self.overall_coordinator.setObjectName("overall_coordinator")
#######overall_coordinator selected######
        self.overall_coordinator.clicked.connect(self.overall_coordinator_clicked)
#########################################
        self.coordinator = QtWidgets.QPushButton(self.designation)
        self.coordinator.setGeometry(QtCore.QRect(170, 30, 181, 28))
        self.coordinator.setStyleSheet("border: 2px solid white;\n"
"background-color:transparent;\n"
"font-weight:normal;\n"
"color:white;\n"
"")
        self.coordinator.setObjectName("coordinator")
#######overall_coordinator selected######
        self.coordinator.clicked.connect(self.coordinator_clicked)
#########################################
        self.member = QtWidgets.QPushButton(self.designation)
        self.member.setGeometry(QtCore.QRect(350, 30, 181, 28))
        self.member.setStyleSheet("border: 2px solid white;\n"
"background-color:transparent;\n"
"font-weight:normal;\n"
"color:white;\n"
"")
        self.member.setObjectName("member")
#######overall_coordinator selected######
        self.member.clicked.connect(self.member_clicked)
#########################################
        self.volunteer = QtWidgets.QPushButton(self.designation)
        self.volunteer.setGeometry(QtCore.QRect(530, 30, 181, 28))
        self.volunteer.setStyleSheet("border: 2px solid white;\n"
"background-color:transparent;\n"
"font-weight:normal;\n"
"color:white;\n"
"")
        self.volunteer.setObjectName("volunteer")
#######overall_coordinator selected######
        self.volunteer.clicked.connect(self.volunteer_clicked)
#########################################
        MainWindow.setCentralWidget(self.centralWidget)
        self.menuBar = QtWidgets.QMenuBar(MainWindow)
        self.menuBar.setGeometry(QtCore.QRect(0, 0, 923, 22))
        self.menuBar.setObjectName("menuBar")
        MainWindow.setMenuBar(self.menuBar)
        self.statusBar = QtWidgets.QStatusBar(MainWindow)
        self.statusBar.setObjectName("statusBar")
        MainWindow.setStatusBar(self.statusBar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "Voyage"))
        self.login_btn.setText(_translate("MainWindow", "LOGIN"))
        self.login_username.setPlaceholderText(_translate("MainWindow", "Username"))
        self.login_password.setPlaceholderText(_translate("MainWindow", "Password"))
        self.designation.setTitle(_translate("MainWindow", "LOGIN AS"))
        self.overall_coordinator.setText(_translate("MainWindow", "Overall Coordinator"))
        self.coordinator.setText(_translate("MainWindow", "Coordinator"))
        self.member.setText(_translate("MainWindow", "Member"))
        self.volunteer.setText(_translate("MainWindow", "Volunteer"))

if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_login()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

파일명 : dashboard.py

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'mainwindow.ui'
#
# Created by: PyQt5 UI code generator 5.9
#
# WARNING! All changes made in this file will be lost!

from PyQt5 import QtCore, QtGui, QtWidgets
from login import Ui_login


class Ui_dashboard(object):
    #def member(self):
    #def team(self):
    #def log_out(self):

    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(923, 606)
        MainWindow.setMinimumSize(QtCore.QSize(923, 606))
        MainWindow.setMaximumSize(QtCore.QSize(923, 606))
        MainWindow.setAutoFillBackground(False)
        MainWindow.setStyleSheet("background:#1A237E;")
        self.centralWidget = QtWidgets.QWidget(MainWindow)
        self.centralWidget.setObjectName("centralWidget")
        self.widget = QtWidgets.QWidget(self.centralWidget)
        self.widget.setGeometry(QtCore.QRect(340, 40, 231, 201))
        self.widget.setStyleSheet("border-image:url(\"techfusion_logo.png\");")
        self.widget.setObjectName("widget")
        self.member = QtWidgets.QPushButton(self.centralWidget)
        self.member.setGeometry(QtCore.QRect(360, 320, 200, 41))
        self.member.setStyleSheet(" color:white;\n"
" background-color:#1A237E;\n"
" border-radius:20px;\n"
"border : 2px solid white;\n"
"font-weight:bold;\n"
"\n"
"")
        self.member.setObjectName("member")
        self.team = QtWidgets.QPushButton(self.centralWidget)
        self.team.setGeometry(QtCore.QRect(360, 400, 200, 41))
        self.team.setStyleSheet(" color:white;\n"
" background-color:#1A237E;\n"
" border-radius:20px;\n"
"font-weight:bold;\n"
"border : 2px solid white;\n"
"\n"
"")
        self.team.setObjectName("team")
        self.logout = QtWidgets.QPushButton(self.centralWidget)
        self.logout.setGeometry(QtCore.QRect(820, 10, 89, 25))
        self.logout.setStyleSheet(" color:white;\n"
                                  " background-color:#1A237E;\n"
                                  " border-radius:20px;\n"
                                  "font-weight:bold;\n"
                                  "text-decoration:underline;\n"
                                  "font-size:15px;\n"
                                  "\n"
                                  "")
        self.logout.setObjectName("logout")
        #self.logout.clicked.connect(self.log_out)
        MainWindow.setCentralWidget(self.centralWidget)
        self.menuBar = QtWidgets.QMenuBar(MainWindow)
        self.menuBar.setGeometry(QtCore.QRect(0, 0, 923, 22))
        self.menuBar.setObjectName("menuBar")
        MainWindow.setMenuBar(self.menuBar)
        self.statusBar = QtWidgets.QStatusBar(MainWindow)
        self.statusBar.setObjectName("statusBar")
        MainWindow.setStatusBar(self.statusBar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "Voyage"))
        self.member.setText(_translate("MainWindow", "MEMBER"))
        self.team.setText(_translate("MainWindow", "TEAM"))
        self.logout.setText(_translate("MainWindow", "LOGOUT"))


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_dashboard()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

dashboard.py에 "logout"이라는 QPushButton이 있습니다. 내가 원하는 것은 로그 아웃 버튼을 클릭하면 dashboard.py가 종료되고 login.py가 열립니다. 이를 위해 어떤 코드를 사용해야합니다. 나는 지난 이틀 이후로 이것에 붙어 있습니다. 많은 웹 페이지를 훑어 보았지만 할 수 없었습니다. 어떤 도움을 주시면 감사하겠습니다.

Eyllanesc

Qt Designer에서 생성 한 디자인을 수정하는 것은 바람직하지 않으며, 디자인을 관리하고 로직을 구현하는 클래스를 만드는 것이 적절합니다. 목표는 현재 창을 닫고 버튼을 눌러 다른 창을 여는 것이므로 아래 그림과 같이 버튼의 클릭 신호를 사용하여 두 작업에 연결해야합니다.

.
├── dashboard.py
├── login.py
└── main.py

main.py

from PyQt5.QtWidgets import *
from login import Ui_login
from dashboard import Ui_dashboard


class Login(QMainWindow, Ui_login):
    def __init__(self, *args, **kwargs):
        QMainWindow.__init__(self, *args, **kwargs)
        self.setupUi(self)

class Dashboard(QMainWindow, Ui_dashboard):
    def __init__(self, *args, **kwargs):
        QMainWindow.__init__(self, *args, **kwargs)
        self.setupUi(self)
        self.logout.clicked.connect(self.close)

if __name__ == "__main__":
    import sys
    app = QApplication(sys.argv)
    w = Dashboard()
    l = Login()
    w.logout.clicked.connect(l.show)
    w.show()
    sys.exit(app.exec_())

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

하나의 애플리케이션에서 PyQt4와 PyQt5를 모두 지원하는 일반적인 방법은 무엇입니까?

분류에서Dev

mouseReleaseEvent는 PyQt5에서 클릭 할 때가 아니라 애플리케이션 시작시 트리거됩니다.

분류에서Dev

PyQt5에서 애니메이션을 만드는 방법은 무엇입니까?

분류에서Dev

Android에서 내 애플리케이션 내에서 다른 애플리케이션을 시작하는 방법은 무엇입니까?

분류에서Dev

현재 애플리케이션에서 다른 애플리케이션을 실행하는 방법은 무엇입니까?

분류에서Dev

Wine : TTS 애플리케이션 "Balabolka"에 SAPI 5 음성을 사용하는 방법은 무엇입니까?

분류에서Dev

KDE Plasma 5에서 수평 애플리케이션 메뉴를 복원하는 방법은 무엇입니까?

분류에서Dev

qml을 사용하는 PyQt5 실행 가능 애플리케이션

분류에서Dev

PyQt5 : QPushButton을 통해 플로팅 된 QDockWidget을 다시 도킹하는 방법은 무엇입니까?

분류에서Dev

HTML5 Android 애플리케이션을 만드는 방법은 무엇입니까?

분류에서Dev

Android-한 애플리케이션에서 다른 애플리케이션으로 전환하는 방법은 무엇입니까?

분류에서Dev

Windows 워크 스테이션이 PyQt5 애플리케이션에서 잠겨 있는지 감지

분류에서Dev

Rails-5 애플리케이션에 추가 JS를 구현하는 방법은 무엇입니까?

분류에서Dev

C # 및 Java 애플리케이션이 동일한 파일에 대해 서로 다른 MD5 값을 계산하는 이유는 무엇입니까?

분류에서Dev

pyqt5를 사용하여 런타임에서 원본 이미지를 다른 이미지로 바꾸는 방법은 무엇입니까?

분류에서Dev

다른 애플리케이션에서 서비스를 호출하는 방법은 무엇입니까?

분류에서Dev

다른 서브넷으로 웹 애플리케이션에 액세스하는 방법은 무엇입니까?

분류에서Dev

PyQt5에서 다른 클래스의 변수를 재정의하는 방법은 무엇입니까?

분류에서Dev

PyQt5로 다른 UI 클래스를 가진 단일 창을 갖는 방법은 무엇입니까?

분류에서Dev

Laravel 5 애플리케이션은 Docker 컨테이너에서 MariaDB 엔진을 연결할 수 없습니다.

분류에서Dev

nodejs 요청을 다른 nodejs 애플리케이션으로 라우팅하는 방법은 무엇입니까?

분류에서Dev

다른 애플리케이션의 알림을 관찰하는 방법은 무엇입니까?

분류에서Dev

Python에서 PyQt5로 폴리 라인을 그리는 방법은 무엇입니까?

분류에서Dev

다른 환경에서 Azure DevOps Pipeline을 사용하여 ClickOnce 애플리케이션을 게시하는 방법은 무엇입니까?

분류에서Dev

채팅 애플리케이션에 메시지를 게시하기 전에 5 초 지연을 두는 방법은 무엇입니까?

분류에서Dev

Paraview의 렌더러 또는 인터랙 터를 PyQt5 애플리케이션에 추가 할 수 있습니까?

분류에서Dev

Qt5 애플리케이션은 Liux Mint에서 gtk 스타일을 사용하지 않습니다.

분류에서Dev

PyQt5에서 화면을 가로 질러 점 이동을 애니메이션하는 방법

분류에서Dev

Delphi 64 비트 애플리케이션 (XE5)에서 CPU 속도를 얻는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    하나의 애플리케이션에서 PyQt4와 PyQt5를 모두 지원하는 일반적인 방법은 무엇입니까?

  2. 2

    mouseReleaseEvent는 PyQt5에서 클릭 할 때가 아니라 애플리케이션 시작시 트리거됩니다.

  3. 3

    PyQt5에서 애니메이션을 만드는 방법은 무엇입니까?

  4. 4

    Android에서 내 애플리케이션 내에서 다른 애플리케이션을 시작하는 방법은 무엇입니까?

  5. 5

    현재 애플리케이션에서 다른 애플리케이션을 실행하는 방법은 무엇입니까?

  6. 6

    Wine : TTS 애플리케이션 "Balabolka"에 SAPI 5 음성을 사용하는 방법은 무엇입니까?

  7. 7

    KDE Plasma 5에서 수평 애플리케이션 메뉴를 복원하는 방법은 무엇입니까?

  8. 8

    qml을 사용하는 PyQt5 실행 가능 애플리케이션

  9. 9

    PyQt5 : QPushButton을 통해 플로팅 된 QDockWidget을 다시 도킹하는 방법은 무엇입니까?

  10. 10

    HTML5 Android 애플리케이션을 만드는 방법은 무엇입니까?

  11. 11

    Android-한 애플리케이션에서 다른 애플리케이션으로 전환하는 방법은 무엇입니까?

  12. 12

    Windows 워크 스테이션이 PyQt5 애플리케이션에서 잠겨 있는지 감지

  13. 13

    Rails-5 애플리케이션에 추가 JS를 구현하는 방법은 무엇입니까?

  14. 14

    C # 및 Java 애플리케이션이 동일한 파일에 대해 서로 다른 MD5 값을 계산하는 이유는 무엇입니까?

  15. 15

    pyqt5를 사용하여 런타임에서 원본 이미지를 다른 이미지로 바꾸는 방법은 무엇입니까?

  16. 16

    다른 애플리케이션에서 서비스를 호출하는 방법은 무엇입니까?

  17. 17

    다른 서브넷으로 웹 애플리케이션에 액세스하는 방법은 무엇입니까?

  18. 18

    PyQt5에서 다른 클래스의 변수를 재정의하는 방법은 무엇입니까?

  19. 19

    PyQt5로 다른 UI 클래스를 가진 단일 창을 갖는 방법은 무엇입니까?

  20. 20

    Laravel 5 애플리케이션은 Docker 컨테이너에서 MariaDB 엔진을 연결할 수 없습니다.

  21. 21

    nodejs 요청을 다른 nodejs 애플리케이션으로 라우팅하는 방법은 무엇입니까?

  22. 22

    다른 애플리케이션의 알림을 관찰하는 방법은 무엇입니까?

  23. 23

    Python에서 PyQt5로 폴리 라인을 그리는 방법은 무엇입니까?

  24. 24

    다른 환경에서 Azure DevOps Pipeline을 사용하여 ClickOnce 애플리케이션을 게시하는 방법은 무엇입니까?

  25. 25

    채팅 애플리케이션에 메시지를 게시하기 전에 5 초 지연을 두는 방법은 무엇입니까?

  26. 26

    Paraview의 렌더러 또는 인터랙 터를 PyQt5 애플리케이션에 추가 할 수 있습니까?

  27. 27

    Qt5 애플리케이션은 Liux Mint에서 gtk 스타일을 사용하지 않습니다.

  28. 28

    PyQt5에서 화면을 가로 질러 점 이동을 애니메이션하는 방법

  29. 29

    Delphi 64 비트 애플리케이션 (XE5)에서 CPU 속도를 얻는 방법은 무엇입니까?

뜨겁다태그

보관