# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file '输入密钥.ui'
#
# Created by: PyQt5 UI code generator 5.9.2
#
# WARNING! All changes made in this file will be lost!
from PyQt5.QtWidgets import QApplication,QLineEdit,QWidget,QFormLayout
import sys
from PyQt5.QtGui import QImage, QPixmap, QIcon
import cv2
import time
from PyQt5 import QtCore, QtGui, QtWidgets
import sys
from PyQt5.QtGui import QImage, QPixmap
class Ui_Dialog(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(400, 211)
Form.setFixedSize(400, 211)
self.lineEdit = QtWidgets.QLineEdit(Form)
self.lineEdit.setGeometry(QtCore.QRect(150, 100, 101, 20))
self.lineEdit.setStyleSheet("border-radius:8px;\n"
"")
self.lineEdit.setObjectName("lineEdit")
self.label = QtWidgets.QLabel(Form)
self.label.setGeometry(QtCore.QRect(130, 70, 151, 20))
self.label.setStyleSheet("\n"
"font: 12pt \"隶书\";")
self.label.setObjectName("label")
self.label_2 = QtWidgets.QLabel(Form)
self.label_2.setGeometry(QtCore.QRect(0, 0, 401, 301))
self.label_2.setStyleSheet("border-image: url(素材.png);")
self.label_2.setText("")
self.label_2.setObjectName("label_2")
self.pushButton = QtWidgets.QPushButton(Form)
self.pushButton.setGeometry(QtCore.QRect(140, 140, 61, 23))
self.pushButton.setStyleSheet("\n"
"\n"
"font: 9pt \"黑体\";\n"
"background-color: rgba(156, 156, 156,10);\n"
"")
self.pushButton.setObjectName("pushButton")
self.pushButton_2 = QtWidgets.QPushButton(Form)
self.pushButton_2.setGeometry(QtCore.QRect(190, 140, 61, 23))
self.pushButton_2.setStyleSheet("font: 10pt \"微软雅黑\";\n"
"font: 9pt \"黑体\";\n"
"background-color: rgba(156, 156, 156,10);\n"
"\n"
"")
self.pushButton_2.setObjectName("pushButton_2")
self.lineEdit.setEchoMode(QLineEdit.Password)
self.label_2.raise_()
# self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
self.lineEdit.raise_()
self.label.raise_()
self.pushButton.raise_()
self.pushButton_2.raise_()
# self.setWindowFlags(QtCore.Qt.FramelessWindowHint) ##
# self.setWindowFlags(QtCore.Qt.WindowMinimizeButtonHint)
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Dialog", "登录"))
self.label.setText(_translate("Dialog", "请输入管理员密钥...."))
self.pushButton.setText(_translate("Dialog", "确定"))
self.pushButton_2.setText(_translate("Dialog", "取消"))
self.pushButton.clicked.connect(self.btn_press1_clicked)
def btn_press1_clicked(self):
user="yjy"
password="12345"
print(user,self.lineEdit.text())
if password==self.lineEdit.text():
self.form2 = QtWidgets.QWidget()
self.ui2 = test_ui()
self.ui2.setupUi(self.form2)
# self.close()
self.form2.show()
else:
print("登陆失败....")
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(1137, 767)
Form.setFixedSize(1137,767)
self.listWidget = QtWidgets.QListWidget(Form)
self.listWidget.setGeometry(QtCore.QRect(0, 0, 1141, 771))
self.listWidget.setStyleSheet("border-image: url(素材.png);")
self.listWidget.setObjectName("listWidget")
self.widget = QtWidgets.QWidget(Form)
self.widget.setGeometry(QtCore.QRect(170, 90, 811, 541))
self.widget.setStyleSheet("background-color: rgba(150, 150, 150,50);")
self.widget.setObjectName("widget")
self.label = QtWidgets.QLabel(self.widget)
self.label.setGeometry(QtCore.QRect(150, 30, 511, 431))
self.label.setText("")
self.label.setObjectName("label")
self.pushButton_2 = QtWidgets.QPushButton(self.widget)
self.pushButton_2.setGeometry(QtCore.QRect(334, 472, 121, 31))
self.pushButton_2.setStyleSheet("border-radius:8px;\n"
"font: 9pt \"黑体\";\n"
"\n"
"background-color: rgba(154, 154, 154,30);")
self.pushButton_2.setObjectName("pushButton_2")
self.pushButton_3 = QtWidgets.QPushButton(Form)
self.pushButton_3.setGeometry(QtCore.QRect(1080, 0, 31, 31))
self.pushButton_3.setStyleSheet("\n"
"background-color: rgba(116, 116, 116,60);\n"
"border-image: url(最小化窗口.png);")
self.pushButton_3.setText("")
self.pushButton_3.setObjectName("pushButton_3")
self.pushButton_4 = QtWidgets.QPushButton(Form)
self.pushButton_4.setGeometry(QtCore.QRect(1110, 0, 31, 31))
self.pushButton_4.setStyleSheet("color: rgb(148, 148, 148);\n"
"border-image: url(退出 (1).png);\n"
"background-color: rgba(106, 106, 106,60);")
self.pushButton_4.setText("")
self.pushButton_4.setObjectName("pushButton_4")
self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
print("12344")
self.retranslateUi(Form)
self.pushButton_3.clicked.connect(Form.showMinimized)
self.pushButton_4.clicked.connect(Form.close)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "Form"))
self.pushButton_2.setText(_translate("Form", "拍照"))
class test_ui(Ui_Form, QtWidgets.QMainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
self.timer = QtCore.QTimer()
self.cap =[]
self.timer.timeout.connect(self.show_image)
# self.pushButton_2.clicked.connect(self.video_button)
self.cap_video=0
self.flag = 0
self.img = []
self.pushButton_2.clicked.connect(self.taking_pictures)
self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
self.open_camera()
def taking_pictures(self):
if self.cap.isOpened():
FName = fr"images/cap{time.strftime('%Y%m%d%H%M%S', time.localtime())}"
print(FName)
self.label.setPixmap(QtGui.QPixmap.fromImage(self.showImage))
# self.showImage.save(FName + ".jpg", "JPG", 100)
self.showImage.save(FName + '.jpg')
def open_camera(self):
self.cap = cv2.VideoCapture(0, cv2.CAP_DSHOW) # 摄像头self.cap = cv2.VideoCapture(0, cv2.CAP_DSHOW) # 摄像头
self.timer.start(40) # 每40毫秒读取一次,即刷新率为25帧
self.show_image()
def show_image(self):
flag, self.image = self.cap.read() # 从视频流中读取图片
image_show = cv2.resize(self.image, (1280, 720)) # 把读到的帧的大小重新设置为 600*360
image_show = self.image
width, height = image_show.shape[:2] # 行:宽,列:高
image_show = cv2.cvtColor(image_show, cv2.COLOR_BGR2RGB) # opencv读的通道是BGR,要转成RGB
image_show = cv2.flip(image_show, 1) # 水平翻转,因为摄像头拍的是镜像的。
# 把读取到的视频数据变成QImage形式(图片数据、高、宽、RGB颜色空间,三个通道各有2**8=256种颜色)
self.showImage = QtGui.QImage(image_show.data, height, width, QImage.Format_RGB888)
self.label.setPixmap(QPixmap.fromImage(self.showImage)) # 往显示视频的Label里显示QImage
self.label.setScaledContents(True) #图片自适应
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Form
评论0