有很多種方法,但是很多方法要么這個(gè)有問題,要么那個(gè)有問題,最后終于找到一種沒問題的方法。記錄一下:
成都創(chuàng)新互聯(lián)是網(wǎng)站建設(shè)專家,致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營(yíng)銷,專業(yè)領(lǐng)域包括網(wǎng)站制作、成都網(wǎng)站制作、電商網(wǎng)站制作開發(fā)、小程序開發(fā)、微信營(yíng)銷、系統(tǒng)平臺(tái)開發(fā),與其他網(wǎng)站設(shè)計(jì)及系統(tǒng)開發(fā)公司不同,我們的整合解決方案結(jié)合了恒基網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗(yàn)和互聯(lián)網(wǎng)整合營(yíng)銷的理念,并將策略和執(zhí)行緊密結(jié)合,且不斷評(píng)估并優(yōu)化我們的方案,為客戶提供全方位的互聯(lián)網(wǎng)品牌整合方案!
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文件后,導(dǎo)入創(chuàng)建的GUI類
from Main import * # Main.py為 主窗口代碼文件
from class_MSSQL import MSSQL
#QtWidgets.QMainWindow:繼承該類方法
class Login_window(QtWidgets.QMainWindow,Ui_Login_Window):
#__init__: 析構(gòu)函數(shù),也就是類被創(chuàng)建后就會(huì)預(yù)先加載的項(xiàng)目。
# 馬上運(yùn)行,這個(gè)方法可以用來對(duì)你的對(duì)象做一些你希望的初始化。
def __init__(self):
#這里需要重載一下Login_window,同時(shí)也包含了QtWidgets.QMainWindow的預(yù)加載項(xiàng)。
super(Login_window, self).__init__()
self.setupUi(self)
# 將點(diǎn)擊事件與槽函數(shù)進(jìn)行連接
self.btn_login.clicked.connect(self.btn_login_fuc)
#登錄按鈕 函數(shù)
def btn_login_fuc(self):
#1 獲取輸入的賬戶和密碼
account = self.txt_1.text() # 記得text要打括號(hào)()!
password = self.txt_2.text()
if account == "" or password == "":
reply = QMessageBox.warning(self,"警告","賬號(hào)密碼不能為空,請(qǐng)輸入!")
return
#2 查詢數(shù)據(jù)庫(kù),判定是否有匹配
ms = MSSQL()
result = ms.Login_result(account, password)
if(len(result) 0):
#1打開新窗口
Ui_Main.show()#2關(guān)閉本窗口
self.close()
else:
reply = QMessageBox.warning(self,"警告","賬戶或密碼錯(cuò)誤,請(qǐng)重新輸入!")
if __name__ == '__main__': #如果這個(gè)文件是主程序。
app = QtWidgets.QApplication(sys.argv) #QApplication相當(dāng)于main函數(shù),也就是整個(gè)程序(很多文件)的主入口函數(shù)。對(duì)于GUI程序必須至少有一個(gè)這樣的實(shí)例來讓程序運(yùn)行。
window = Login_window() #生成一個(gè)實(shí)例(對(duì)象)
Ui_Main = Ui_Main() #生成主窗口的實(shí)例
window.show() #有了實(shí)例,就得讓它顯示。這里的show()是QWidget的方法,用來顯示窗口。
sys.exit(app.exec_()) # 調(diào)用sys庫(kù)的exit退出方法,條件是app.exec_()也就是整個(gè)窗口關(guān)閉。
Main.py(主窗口)文件
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from Ui_Main import Ui_MainWindow #由.UI文件生成.py文件后,導(dǎo)入創(chuàng)建的GUI類
import math
from PIL import Image, ImageDraw, ImageFont
import numpy as np
import os
import cv2 as cvcv
from class_Detection import Detection
class Ui_Main(QtWidgets.QMainWindow,Ui_MainWindow):
def __init__(self):
super(Ui_Main, self).__init__()
self.setupUi(self)
# 將點(diǎn)擊事件與槽函數(shù)進(jìn)行連接
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) #圖片自適應(yīng)
self.timer_camera.start(10)
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
window = Ui_Main()
window.show()
sys.exit(app.exec_())
count = 0
while count3:
name = input('請(qǐng)輸入賬號(hào):')
password = input('請(qǐng)輸入密碼:')
if not name or not password:
print('賬號(hào)密碼不能為空')
right_name = 'admin'
right_password = '123xyz'
if name == right_name:
if password == right_password:
print('歡迎{}登錄'.format(name))
break
else:
print('用戶名密碼錯(cuò)誤')
else:
print('用戶名密碼錯(cuò)誤')
count += 1
python input函數(shù)怎么用?跟我一起來看看:
input()函數(shù)是輸入函數(shù),是實(shí)現(xiàn)人機(jī)交互的重要函數(shù),例如有時(shí)計(jì)算機(jī)會(huì)問你一個(gè)問題,你需要做出回答,從而讓計(jì)算機(jī)進(jìn)行下一步的判斷,這時(shí)我們就需要用到input()函數(shù)。
例如:
在一次考試中,有一道問題有四個(gè)選項(xiàng),其中只有一個(gè)正確答案,這時(shí)你需要回答出你所選的選項(xiàng),從而讓計(jì)算機(jī)判斷你是否答對(duì)問題。
print('請(qǐng)?jiān)谝韵滤膫€(gè)選項(xiàng)中【A.1;B.5;C.0;D.2】選出你的選項(xiàng)') choice=input('請(qǐng)問你的選項(xiàng)是:') if?choice=='A': ???print('恭喜你,回答正確!!!') else: ???print('很遺憾,回答錯(cuò)誤!!!')
從上面可以看出input()是輸入函數(shù),當(dāng)你在函數(shù)的括號(hào)內(nèi)寫下問題時(shí),它會(huì)在終端打印出來等待你的輸入,在你輸入后,計(jì)算機(jī)會(huì)根據(jù)你的回答進(jìn)行判斷。
在最開始說了在Python3中,input()函數(shù)接受一個(gè)標(biāo)準(zhǔn)輸入數(shù)據(jù),返回為string類型。不管我們輸入的回答是什么,不管你輸入的是整數(shù),還是字符串,input()函數(shù)的輸入值,永遠(yuǎn)會(huì)被“強(qiáng)制性”地轉(zhuǎn)換為“字符串"類型。(Python3固定規(guī)則)
choice=input('請(qǐng)輸入1或2:') print(type(choice)) name=input('請(qǐng)輸入你的名字:') print(type(name))
只要在input()函數(shù)前面加上int(),就可以把input()函數(shù)的結(jié)果強(qiáng)制轉(zhuǎn)換成整數(shù)。
choice=int(input('請(qǐng)選擇1或2')) if?choice==1 ?????print('正確') else: ?????print('錯(cuò)誤')
例如:
我們要對(duì)全班的同學(xué)按照身高進(jìn)行分組,這時(shí)我們就需要用到整數(shù) height=int(input('請(qǐng)問你的身高是:')) if?0
文章題目:python登錄程序函數(shù) python用戶登陸程序
分享路徑:http://muchs.cn/article48/hhidhp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)、自適應(yīng)網(wǎng)站、微信小程序、小程序開發(fā)、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容