1. ホーム
  2. スクリプト・コラム
  3. パイソン

PyQt5はユーザーログインGUIインターフェースとログイン後のジャンプを実装しています。

2022-01-02 13:48:55

PyQt5は、優れたデスクトップアプリケーションを実装するために使用できる、強力なGUIツールの1つです。簡単なログインページが、あなたが始めるのに役立つことを願っています。

業務に必要な拡張パッケージをすべてインポートする。

import sys # System parameter manipulation
from PyQt5.QtWidgets import * # Module contains classes that create a classic desktop style user interface providing a set of UI elements
from PyQt5.QtCore import * # This module is used to handle time, files and directories, various data types, streams, URLs, MIME types, threads or processes
QtGui import * # Contains classes for window system integration, event handling, 2D graphics, basic imaging, fonts and text

メインインターフェイスウィンドウを作成します。

class MainWindow(QMainWindow):
    def __init__(self, *args, **kwargs):
        '''
        constructor, initialize the parameter properties
        :param args:
        :param kwargs:
        '''
        super(). __init__(*args, **kwargs)
        self.setWindowTitle('Main function page')
        self.setFixedWidth(600)
        self.setFixedHeight(600)

ログインダイアログを作成します。
class LoginDialog(QDialog):
    def __init__(self, *args, **kwargs):
        '''
        Constructor to initialize the contents of the login dialog
        :param args:
        :param kwargs:
        '''
        super(). __init__(*args, **kwargs)
        self.setWindowTitle('Welcome to login') # set title
        self.resize(200, 200) # set width, height
        self.setFixedSize(self.width(), self.height())
        self.setWindowFlags(Qt.WindowCloseButtonHint) # Set the button to hide the close X

        '''
        Define interface control settings
        '''
        self.frame = QFrame(self) # Initialize the Frame object
        self.verticalLayout = QVBoxLayout(self.frame) # Set the horizontal layout
        self.verticalLayout

        self.login_id = QLineEdit() # Define username input box
        self.login_id.setPlaceholderText("Please enter your login") # Set the default prompt to be displayed
        self.verticalLayout.addWidget(self.login_id) # Add the login account settings to the page control

        self.passwd = QLineEdit() # Define the password input box
        self.passwd.setPlaceholderText("Please enter your login password") # Set the default prompt to be displayed
        self.verticalLayout.addWidget(self.passwd) # Add this password setting to the page control

        self.button_enter = QPushButton() # Define the login button
        self.button_enter.setText("login") # Show button value as login
        self.verticalLayout.addWidget(self.button_enter) # Add the button to the page control

        self.button_quit = QPushButton() # Define the return button
        self.button_quit.setText("return") # button display value for return
        self.verticalLayout.addWidget(self.button_quit) # Add the button to the page control

        # Bind button events
        self.button_enter.clicked.connect(self.button_enter_verify)
        self.button_quit.clicked.connect(
            QCoreApplication.instance().quit) # return button bound to exit

    def button_enter_verify(self):
        # verify that the account is correct
        if self.login_id.text() ! = "admin":
            print("test1")
            return
        # Check if the password is correct
        if self.passwd.text() ! = "admin@1234":
            print("test2")
            return
        # Validation passed, set the QDialog object state to allowed
        self.accept()

最後に、mian entry機能でアプリを起動します。

if __name__ == "__main__":
    # Create the application
    window_application = QApplication(sys.argv)
    # Set the login window
    login_ui = LoginDialog()
    # Check if authentication passed
    if login_ui.exec_() == QDialog.Accepted:
        # Initialize the main function window
        main_window = MainWindow()
        # Show the window
        main_window.show()
        # Set the application to exit
        sys.exit(window_application.exec_())

PyQt5のユーザーログインGUIとログイン後のジャンプについての記事は以上となります。PyQt5のユーザーログインGUIについては、過去の記事を検索するか、引き続き以下の記事を参照してください。