国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python-如何制作一個(gè)簡單的登陸界面【記錄】

這篇具有很好參考價(jià)值的文章主要介紹了Python-如何制作一個(gè)簡單的登陸界面【記錄】。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1、明確目的:

(1)打開登陸界面后,輸入對應(yīng)的賬號和密碼,自動進(jìn)入到主界面程序,登陸界面消失;

(2)進(jìn)入主界面程序后,可以返回登陸界面,同時(shí)主界面消失;

(3)達(dá)到指令要求后,可以注冊賬號和密碼,并保存到數(shù)據(jù)庫。(此功能具體實(shí)現(xiàn)暫時(shí)不考慮。)

2、首先,先創(chuàng)建一個(gè)登陸界面,可以通過Pyqt5創(chuàng)建,得到Ui_untitled.py界面程序文件【如下代碼塊】。

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

# Form implementation generated from reading ui file 'd:\Python_studyltem\軟件登陸界面實(shí)現(xiàn)\login_file\untitled.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.


from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_LoginActivity(object):
    def setupUi(self, LoginActivity):
        LoginActivity.setObjectName("LoginActivity")
        LoginActivity.resize(387, 178)
        self.centralwidget = QtWidgets.QWidget(LoginActivity)
        self.centralwidget.setObjectName("centralwidget")
        self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
        self.gridLayout.setObjectName("gridLayout")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setMinimumSize(QtCore.QSize(0, 30))
        self.pushButton.setObjectName("pushButton")
        self.gridLayout.addWidget(self.pushButton, 4, 1, 1, 1)
        self.lineEdit_2 = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit_2.setMinimumSize(QtCore.QSize(0, 30))
        self.lineEdit_2.setObjectName("lineEdit_2")
        self.gridLayout.addWidget(self.lineEdit_2, 1, 1, 1, 2)
        self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit.setMinimumSize(QtCore.QSize(0, 30))
        self.lineEdit.setObjectName("lineEdit")
        self.gridLayout.addWidget(self.lineEdit, 0, 1, 1, 2)
        self.label_2 = QtWidgets.QLabel(self.centralwidget)
        self.label_2.setFrameShape(QtWidgets.QFrame.WinPanel)
        self.label_2.setFrameShadow(QtWidgets.QFrame.Raised)
        self.label_2.setObjectName("label_2")
        self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setMinimumSize(QtCore.QSize(0, 0))
        self.label.setFrameShape(QtWidgets.QFrame.WinPanel)
        self.label.setFrameShadow(QtWidgets.QFrame.Raised)
        self.label.setObjectName("label")
        self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
        self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_2.setMinimumSize(QtCore.QSize(0, 30))
        self.pushButton_2.setObjectName("pushButton_2")
        self.gridLayout.addWidget(self.pushButton_2, 4, 2, 1, 1)
        self.label_3 = QtWidgets.QLabel(self.centralwidget)
        self.label_3.setFrameShape(QtWidgets.QFrame.WinPanel)
        self.label_3.setFrameShadow(QtWidgets.QFrame.Raised)
        self.label_3.setObjectName("label_3")
        self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
        self.lineEdit_3 = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit_3.setMinimumSize(QtCore.QSize(0, 30))
        self.lineEdit_3.setSizeIncrement(QtCore.QSize(0, 0))
        self.lineEdit_3.setObjectName("lineEdit_3")
        self.gridLayout.addWidget(self.lineEdit_3, 2, 1, 1, 2)
        LoginActivity.setCentralWidget(self.centralwidget)
        self.statusbar = QtWidgets.QStatusBar(LoginActivity)
        self.statusbar.setObjectName("statusbar")
        LoginActivity.setStatusBar(self.statusbar)

        self.retranslateUi(LoginActivity)
        QtCore.QMetaObject.connectSlotsByName(LoginActivity)
        LoginActivity.setTabOrder(self.lineEdit, self.lineEdit_2)
        LoginActivity.setTabOrder(self.lineEdit_2, self.lineEdit_3)
        LoginActivity.setTabOrder(self.lineEdit_3, self.pushButton)
        LoginActivity.setTabOrder(self.pushButton, self.pushButton_2)

    def retranslateUi(self, LoginActivity):
        _translate = QtCore.QCoreApplication.translate
        LoginActivity.setWindowTitle(_translate("LoginActivity", "MainWindow"))
        self.pushButton.setText(_translate("LoginActivity", "登陸"))
        self.label_2.setText(_translate("LoginActivity", "<html><head/><body><p align=\"center\"><span style=\" font-size:12pt;\">密碼:</span></p></body></html>"))
        self.label.setText(_translate("LoginActivity", "<html><head/><body><p align=\"center\"><span style=\" font-size:12pt;\">賬號:</span></p></body></html>"))
        self.pushButton_2.setText(_translate("LoginActivity", "注冊"))
        self.label_3.setText(_translate("LoginActivity", "<html><head/><body><p align=\"center\"><span style=\" font-size:12pt;\">指令:</span></p></body></html>"))

3、將該登陸界面展現(xiàn)出來,導(dǎo)入上面的界面程序,代碼如下:

from Ui_untitled import Ui_LoginActivity
import sys
from PyQt5.QtGui import QIcon  # 用于添加圖標(biāo)
from PyQt5.QtWidgets import QWidget,QMainWindow,QApplication
from PyQt5.QtCore import pyqtSlot

class Login_main(QMainWindow,Ui_LoginActivity):

    def __init__(self):
        super().__init__()  # 使用超類,繼承父類的屬性及方法
        self.setupUi(self)  # 構(gòu)造窗體界面
        self.setWindowIcon(QIcon("./img/result.png")) #設(shè)置界面圖標(biāo)
        self.initUI()  # 構(gòu)造功能函數(shù)

    def initUI(self):
        self.pushButton.setShortcut('Return')  # 設(shè)置快捷鍵
        self.setWindowTitle("登陸窗口")

if __name__ == "__main__":
    app = QApplication(sys.argv)
    login_ui = Login_main()
    login_ui.show()
    sys.exit(app.exec_())

4、制作程序的主界面,得到Ui_test_button.py界面程序文件【如下代碼塊】。

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

# Form implementation generated from reading ui file 'd:\Python_studyltem\軟件登陸界面實(shí)現(xiàn)\test_button.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.


from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(384, 350)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
        self.gridLayout.setObjectName("gridLayout")
        self.textBrowser = QtWidgets.QTextBrowser(self.centralwidget)
        self.textBrowser.setObjectName("textBrowser")
        self.gridLayout.addWidget(self.textBrowser, 3, 0, 1, 1)
        self.pushButton1 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton1.setObjectName("pushButton1")
        self.gridLayout.addWidget(self.pushButton1, 0, 0, 1, 1)
        self.pushButton2 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton2.setObjectName("pushButton2")
        self.gridLayout.addWidget(self.pushButton2, 1, 0, 1, 1)
        self.pushButton_3 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_3.setObjectName("pushButton_3")
        self.gridLayout.addWidget(self.pushButton_3, 2, 0, 1, 1)
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 384, 23))
        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", "MainWindow"))
        self.pushButton1.setText(_translate("MainWindow", "測試按鈕-1"))
        self.pushButton2.setText(_translate("MainWindow", "測試按鈕-2"))
        self.pushButton_3.setText(_translate("MainWindow", "返回登陸狀態(tài)"))

5、同樣,將該主界面展現(xiàn)出來,導(dǎo)入上面的主界面py程序,代碼如下:

from  Ui_test_button import Ui_MainWindow
import sys
from PyQt5.QtGui import QIcon  # 用于添加圖標(biāo)
from PyQt5.QtWidgets import QWidget,QMainWindow,QApplication
from PyQt5.QtCore import pyqtSlot

class Test_window(QMainWindow,Ui_MainWindow):  # 繼承至界面文件的主窗口類
    
    def __init__(self):
        super().__init__()  # 使用超類,繼承父類的屬性及方法
        self.setupUi(self)  # 構(gòu)造窗體界面
        self.setWindowIcon(QIcon("./img/result.png"))
        self.setWindowTitle("Test_button")  # 設(shè)置窗體主體
        self.initUI()  # 構(gòu)造功能函數(shù)
    
    def initUI(self):
        #此處添加功能連接函數(shù)
        self.pushButton1.clicked.connect(self.bofang_video)  #自定義按鈕連接自定義槽函數(shù)
        # self.pushButton1.pressed.connect()   #不同的按鈕點(diǎn)擊方式
        # self.pushButton1.released.connect()
    
    @pyqtSlot()
    def on_pushButton2_clicked(self): #利用QT自帶槽函數(shù)直接連接按鈕
        self.textBrowser.append("點(diǎn)擊按鈕2!")
        self.textBrowser.append("<font color=\"#00FF00\">點(diǎn)擊按鈕2!</font> ") #設(shè)置字體顏色
        self.textBrowser.append("======================")
        
    def bofang_video(self):
        print("123")
        self.textBrowser.append("點(diǎn)擊按鈕1!")
        self.textBrowser.append("<font color=\"#FF0000\">點(diǎn)擊按鈕1!</font> ") #設(shè)置字體顏色
        self.textBrowser.append("======================")

if __name__ == "__main__":
    app = QApplication(sys.argv)
    ui2 = Test_window()
    ui2.show()
    sys.exit(app.exec_())

6、當(dāng)前,已經(jīng)將登陸界面和主界面運(yùn)行程序成功完成,接下就是將兩個(gè)界面程序,放入到一個(gè)app程序中監(jiān)控,并同時(shí)操控兩個(gè)界面程序,代碼如下;

from login import Login_main
from test_main import Test_window 
import sys
from PyQt5.QtWidgets import QApplication
from PyQt5.QtWidgets import QMessageBox

'''
調(diào)用兩個(gè)界面,點(diǎn)擊退出,可退回界面
'''

# 保存自定義賬號和密碼
save_information = {"save_zhanghao":["admin",]}
save_information_password = {"password":["19970128",]}


# 登陸流程
def control_ui():
    zhanghao = login_ui.lineEdit.text()
    password = login_ui.lineEdit_2.text()
    if zhanghao in save_information.get("save_zhanghao"):
        zhanghao_ret = True
    else:
        print("賬號不存在!")
        QMessageBox.warning(login_ui,"警告", "賬號不存在!", QMessageBox.Cancel)
        zhanghao_ret = False
        return
    if password in save_information_password.get("password"):
        password_ret = True
    else:
        print("密碼輸入錯(cuò)誤!")
        QMessageBox.warning(login_ui,"警告", "密碼輸入錯(cuò)誤!", QMessageBox.Cancel)
        password_ret = False
        return
    if zhanghao_ret == True and password_ret == True:
        # 打開主界面
        print("打開主界面!")
        # 關(guān)閉登陸界面
        login_ui.close()
        # 打開主程序運(yùn)行界面
        main_ui.show()

# 注冊流程,未完善,可自行自定義完成
def zhuche():
    zhanghao = login_ui.lineEdit.text()
    password = login_ui.lineEdit_2.text()

    zhiling = login_ui.lineEdit_3.text()
    if zhiling == "8888":
        print("注冊信息!")
        QMessageBox.warning(login_ui,"提示", "可以注冊賬號!", QMessageBox.Cancel)
    else:
        QMessageBox.warning(login_ui,"警告", "指令輸入錯(cuò)誤,無法注冊賬號!", QMessageBox.Cancel)


def back_login():
    login_ui.show()
    main_ui.close()
    login_ui.lineEdit.clear()
    login_ui.lineEdit_2.clear()

if __name__ == "__main__":
    app = QApplication(sys.argv)
    login_ui = Login_main()
    login_ui.pushButton.clicked.connect(control_ui)
    login_ui.pushButton_2.clicked.connect(zhuche)
    login_ui.show()
    main_ui = Test_window()
    main_ui.pushButton_3.clicked.connect(back_login)
    sys.exit(app.exec_())

7、展示情況如下:

登陸界面展示文章來源地址http://www.zghlxwxcb.cn/news/detail-502391.html

到了這里,關(guān)于Python-如何制作一個(gè)簡單的登陸界面【記錄】的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • PyQt5制作一個(gè)簡單的登錄界面

    PyQt5制作一個(gè)簡單的登錄界面

    最近在學(xué)習(xí)GUI設(shè)計(jì),分享做的一些小項(xiàng)目。 這篇文我們講一下如何制作一個(gè)簡單的登錄界面。 如下: 1、QtDesigner里繪制UI界面并設(shè)置屬性 布局根據(jù)個(gè)人喜好,部件顏色、字體、背景屬性在styleSheet里設(shè)置。 2、材料轉(zhuǎn)換(將.ui文件轉(zhuǎn).py,.qrc文件轉(zhuǎn)_rc.py) 通過PyUIC和PyRcc即可完成。

    2024年02月03日
    瀏覽(21)
  • HTML和CSS配合制作一個(gè)簡單的登錄界面

    HTML和CSS配合制作一個(gè)簡單的登錄界面

    這是一個(gè)CSS樣式表,用于為網(wǎng)頁中的HTML元素設(shè)置樣式。接下來我會逐句解釋每個(gè)選擇器和樣式的作用。 *{ box-sizing: border-box; } :這行代碼將所有HTML元素的盒模型設(shè)置為 border-box ,使元素的寬高包括內(nèi)容、內(nèi)邊距和邊框,而不僅僅是內(nèi)容。 body{ font-family: Arial, Helvetica, sans-ser

    2024年02月12日
    瀏覽(21)
  • 界面開發(fā)(2)--- 使用PyQt5制作用戶登陸界面

    界面開發(fā)(2)--- 使用PyQt5制作用戶登陸界面

    上篇文章已經(jīng)介紹了如何配置PyQt5環(huán)境,這篇文章在此基礎(chǔ)上展開,主要記錄一下如何使用 PyQt5 制作用戶登陸界面,并對一些基礎(chǔ)操作進(jìn)行介紹。 下面是具體步驟,一起來看看吧! 1. 打開 Pycharm 中的 Qt Designer 工具。 2. 選擇Main Window模式,創(chuàng)建界面窗口。 3. 移除菜單欄和狀態(tài)

    2024年02月05日
    瀏覽(23)
  • python界面開發(fā)案例:制作一個(gè)計(jì)算器軟件

    python界面開發(fā)案例:制作一個(gè)計(jì)算器軟件

    前言 大家早好、午好、晚好吖 ? ~歡迎光臨本文章 在我們手機(jī)上大家都有一個(gè)計(jì)算器,對吧 那它這功能是怎么實(shí)現(xiàn)的呢? 今天我們在電腦上來實(shí)現(xiàn)一個(gè)電腦端計(jì)算器界面~ 開發(fā)環(huán)境: Python 3.8 / 編譯器 Pycharm 2021.2版本 / 編輯器 本文所有模塊環(huán)境源碼教程皆可點(diǎn)擊文章下方

    2023年04月16日
    瀏覽(101)
  • PySimpleGUI:使用 Python 輕松制作一個(gè)圖形界面(GUI)

    PySimpleGUI:使用 Python 輕松制作一個(gè)圖形界面(GUI)

    大家好,GUI(圖形用戶界面),顧名思義就是用圖形的方式,來顯示計(jì)算機(jī)操作的界面,更加方便且直觀。 一個(gè)好看又好用的GUI,可以大大提高大家的使用體驗(yàn),提高效率。比如你想開發(fā)一個(gè)計(jì)算器,如果只是一個(gè)程序輸入,輸出窗口的話,是沒有用戶體驗(yàn)的。所以開發(fā)一個(gè)圖

    2024年02月16日
    瀏覽(18)
  • Unity3D學(xué)習(xí)之UI系統(tǒng)——用NGUI制作游戲登陸界面

    Unity3D學(xué)習(xí)之UI系統(tǒng)——用NGUI制作游戲登陸界面

    會省略一些東西,可以看我的NGUI的博客 設(shè)置UI分辨率自適應(yīng) 設(shè)置Root 的層級 和攝像機(jī)渲染的層級為UI 主攝像機(jī)不渲染UI 一般都是美術(shù)給一個(gè)示意圖,然后按示意圖上拼面板 3.1.1 制作圖集 制作兩個(gè)新圖集 3.1.2 拖面板 檢查DrawCall 3.1.3 面板基類 創(chuàng)建面板基類, 首先設(shè)置成單例

    2024年02月19日
    瀏覽(29)
  • Matlab中如何使用appdesigner設(shè)計(jì)工具建立一個(gè)簡單的界面

    Matlab中如何使用appdesigner設(shè)計(jì)工具建立一個(gè)簡單的界面

    建立一個(gè)新的空白界面,matlab中輸入 appdesigner ,打開app設(shè)計(jì)工具,新建一個(gè)空白界面 為了實(shí)現(xiàn)圖像的輸入和結(jié)構(gòu)顯示,以及功能的運(yùn)轉(zhuǎn),我們首先拖入兩個(gè) 圖像 和三個(gè) 按鈕 模塊,為了美觀,去除默認(rèn)坐標(biāo)區(qū)功能模塊的x、y軸顏色和標(biāo)簽(在右側(cè)檢查器中更改) 布局完成后

    2024年02月05日
    瀏覽(19)
  • 教你如何使用Unity制作一個(gè)簡單的跑酷游戲

    教你如何使用Unity制作一個(gè)簡單的跑酷游戲

    其實(shí)用Unity制作游戲并不難,如果你想學(xué)習(xí),那我就建議你想從制作一個(gè)簡單的跑酷游戲來找到興趣,因?yàn)槿绻阋婚_始就一直學(xué)習(xí)一些沒什么必要的語法,這樣就會讓你一開始就失去了信心,失去了學(xué)習(xí)Unity的動力,所以如果你先學(xué)習(xí)如何制作一個(gè)簡單的跑酷地圖,然后你就

    2024年02月04日
    瀏覽(28)
  • Python的界面神器Streamlit初使用,一個(gè)漂亮的界面有多簡單,超乎想象

    Python的界面神器Streamlit初使用,一個(gè)漂亮的界面有多簡單,超乎想象

    廢話不多說,直接上干貨 首先安裝好所需要的庫 新建一個(gè) Python 文件(test.py),導(dǎo)入所需要的庫, 打開命令,行輸入命令, 啟動服務(wù),可以看到輸出信息證明已經(jīng)成功啟動了一個(gè)服務(wù),瀏覽器會自動打開這個(gè)地址。 現(xiàn)在頁面什么東西都沒有,加一句代碼,打印一些文字 保存文

    2024年02月08日
    瀏覽(25)
  • 【Unity】教你如何使用Unity制作一個(gè)簡單的跑酷游戲

    【Unity】教你如何使用Unity制作一個(gè)簡單的跑酷游戲

    其實(shí)用Unity制作游戲并不難,如果你想學(xué)習(xí),那我就建議你想從制作一個(gè)簡單的跑酷游戲來找到興趣,因?yàn)槿绻阋婚_始就一直學(xué)習(xí)一些沒什么必要的語法,這樣就會讓你一開始就失去了信心,失去了學(xué)習(xí)Unity的動力,所以如果你先學(xué)習(xí)如何制作一個(gè)簡單的跑酷地圖,然后你就

    2024年02月21日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包