基于Python+Pyqt5开发一个应用程序

介绍你的那个她/他

1. UI —MainWindow设计界面及代码

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

# Form implementation generated from reading ui file '/media/sf_data/onemore_tjj/Again_tjj/MainWindow.ui'
#
# Created by: PyQt5 UI code generator 5.14.1
#
# WARNING! All changes made in this file will be lost!

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(788, 634)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.groupBox_2 = QtWidgets.QGroupBox(self.centralwidget)
        self.groupBox_2.setGeometry(QtCore.QRect(40, 270, 691, 321))
        self.groupBox_2.setObjectName("groupBox_2")
        self.txtResume = QtWidgets.QTextEdit(self.groupBox_2)
        self.txtResume.setGeometry(QtCore.QRect(10, 30, 671, 281))
        self.txtResume.setObjectName("txtResume")
        self.butGenerate = QtWidgets.QPushButton(self.centralwidget)
        self.butGenerate.setGeometry(QtCore.QRect(390, 230, 101, 51))
        self.butGenerate.setObjectName("butGenerate")
        self.groupBox_3 = QtWidgets.QGroupBox(self.centralwidget)
        self.groupBox_3.setGeometry(QtCore.QRect(500, 10, 231, 271))
        self.groupBox_3.setObjectName("groupBox_3")
        self.label_6 = QtWidgets.QLabel(self.groupBox_3)
        self.label_6.setGeometry(QtCore.QRect(6, 30, 221, 241))
        self.label_6.setMinimumSize(QtCore.QSize(221, 0))
        self.label_6.setMaximumSize(QtCore.QSize(221, 16777215))
        self.label_6.setText("")
        self.label_6.setPixmap(QtGui.QPixmap(":/tjj.jpg"))
        self.label_6.setObjectName("label_6")
        self.label_6.setScaledContents(True)    #图片自适应
        self.groupBox = QtWidgets.QGroupBox(self.centralwidget)
        self.groupBox.setGeometry(QtCore.QRect(30, 20, 231, 201))
        self.groupBox.setObjectName("groupBox")
        self.txtName = QtWidgets.QLineEdit(self.groupBox)
        self.txtName.setGeometry(QtCore.QRect(50, 30, 151, 25))
        self.txtName.setObjectName("txtName")
        self.label = QtWidgets.QLabel(self.groupBox)
        self.label.setGeometry(QtCore.QRect(10, 32, 67, 17))
        self.label.setObjectName("label")
        self.txtRelationship = QtWidgets.QLineEdit(self.groupBox)
        self.txtRelationship.setGeometry(QtCore.QRect(50, 60, 151, 25))
        self.txtRelationship.setObjectName("txtRelationship")
        self.label_2 = QtWidgets.QLabel(self.groupBox)
        self.label_2.setGeometry(QtCore.QRect(6, 90, 67, 17))
        self.label_2.setObjectName("label_2")
        self.txtHobby = QtWidgets.QLineEdit(self.groupBox)
        self.txtHobby.setGeometry(QtCore.QRect(48, 120, 151, 25))
        self.txtHobby.setObjectName("txtHobby")
        self.txtCharacter = QtWidgets.QLineEdit(self.groupBox)
        self.txtCharacter.setGeometry(QtCore.QRect(48, 150, 151, 25))
        self.txtCharacter.setObjectName("txtCharacter")
        self.label_4 = QtWidgets.QLabel(self.groupBox)
        self.label_4.setGeometry(QtCore.QRect(6, 122, 67, 17))
        self.label_4.setObjectName("label_4")
        self.label_3 = QtWidgets.QLabel(self.groupBox)
        self.label_3.setGeometry(QtCore.QRect(6, 60, 67, 17))
        self.label_3.setObjectName("label_3")
        self.label_5 = QtWidgets.QLabel(self.groupBox)
        self.label_5.setGeometry(QtCore.QRect(6, 153, 67, 17))
        self.label_5.setObjectName("label_5")
        self.txtSpecialty = QtWidgets.QLineEdit(self.groupBox)
        self.txtSpecialty.setGeometry(QtCore.QRect(49, 90, 151, 25))
        self.txtSpecialty.setObjectName("txtSpecialty")
        self.groupBox_5 = QtWidgets.QGroupBox(self.centralwidget)
        self.groupBox_5.setGeometry(QtCore.QRect(270, 20, 221, 201))
        self.groupBox_5.setObjectName("groupBox_5")
        self.label_7 = QtWidgets.QLabel(self.groupBox_5)
        self.label_7.setGeometry(QtCore.QRect(10, 40, 67, 17))
        self.label_7.setObjectName("label_7")
        self.label_8 = QtWidgets.QLabel(self.groupBox_5)
        self.label_8.setGeometry(QtCore.QRect(10, 70, 67, 17))
        self.label_8.setObjectName("label_8")
        self.label_9 = QtWidgets.QLabel(self.groupBox_5)
        self.label_9.setGeometry(QtCore.QRect(10, 100, 67, 17))
        self.label_9.setObjectName("label_9")
        self.label_10 = QtWidgets.QLabel(self.groupBox_5)
        self.label_10.setGeometry(QtCore.QRect(10, 130, 67, 17))
        self.label_10.setObjectName("label_10")
        self.label_11 = QtWidgets.QLabel(self.groupBox_5)
        self.label_11.setGeometry(QtCore.QRect(10, 160, 67, 17))
        self.label_11.setObjectName("label_11")
        self.txtHair = QtWidgets.QLineEdit(self.groupBox_5)
        self.txtHair.setGeometry(QtCore.QRect(60, 40, 113, 25))
        self.txtHair.setObjectName("txtHair")
        self.txtHeight = QtWidgets.QLineEdit(self.groupBox_5)
        self.txtHeight.setGeometry(QtCore.QRect(60, 70, 113, 25))
        self.txtHeight.setObjectName("txtHeight")
        self.txtWeight = QtWidgets.QLineEdit(self.groupBox_5)
        self.txtWeight.setGeometry(QtCore.QRect(60, 100, 113, 25))
        self.txtWeight.setObjectName("txtWeight")
        self.txtOffice = QtWidgets.QLineEdit(self.groupBox_5)
        self.txtOffice.setGeometry(QtCore.QRect(60, 130, 113, 25))
        self.txtOffice.setObjectName("txtOffice")
        self.txtAddress = QtWidgets.QLineEdit(self.groupBox_5)
        self.txtAddress.setGeometry(QtCore.QRect(60, 160, 113, 25))
        self.txtAddress.setObjectName("txtAddress")
        self.label_14 = QtWidgets.QLabel(self.groupBox_5)
        self.label_14.setGeometry(QtCore.QRect(175, 73, 67, 17))
        self.label_14.setObjectName("label_14")
        self.label_15 = QtWidgets.QLabel(self.groupBox_5)
        self.label_15.setGeometry(QtCore.QRect(175, 101, 67, 17))
        self.label_15.setObjectName("label_15")
        MainWindow.setCentralWidget(self.centralwidget)

        self.retranslateUi(MainWindow)
        self.butGenerate.clicked.connect(MainWindow.Generate)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "介绍你青春里的那个她"))
        self.groupBox_2.setTitle(_translate("MainWindow", "简介:"))
        self.butGenerate.setText(_translate("MainWindow", "生成"))
        self.groupBox_3.setTitle(_translate("MainWindow", "照片"))
        self.groupBox.setTitle(_translate("MainWindow", "我的朋友:"))
        self.label.setText(_translate("MainWindow", "姓名:"))
        self.label_2.setText(_translate("MainWindow", "特长:"))
        self.label_4.setText(_translate("MainWindow", "爱好:"))
        self.label_3.setText(_translate("MainWindow", "关系:"))
        self.label_5.setText(_translate("MainWindow", "性格:"))
        self.groupBox_5.setTitle(_translate("MainWindow", "简介:"))
        self.label_7.setText(_translate("MainWindow", "发型:"))
        self.label_8.setText(_translate("MainWindow", "身高:"))
        self.label_9.setText(_translate("MainWindow", "体重:"))
        self.label_10.setText(_translate("MainWindow", "职务:"))
        self.label_11.setText(_translate("MainWindow", "住址:"))
        self.label_14.setText(_translate("MainWindow", "m"))
        self.label_15.setText(_translate("MainWindow", "kg"))
import picture_rc

2. 应用程序代码

# 系统包
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
# 项目包
from Ui_MainWindow import Ui_MainWindow
class Cjianjie:
    hair = ""
    height = ""
    weight = ""
    office = ""
    address = ""
    bmi=0.0
    def OutputHair(self):
        strOutput = "她有一头乌黑亮丽的黑" + self.hair
        return strOutput
    def OutputHeight(self):
        strOutput = "她长的不算很高,"+ self.height + "米左右"
        return strOutput
    def OutputWeight(self):
        strOutput = "她身材不胖,才" + self.weight + "公斤"
        return strOutput

    def OutputOffice(self):
        strOutput = "她在班里是" + self.office + "也是因为她才记得了那首诗,曾经沧海难为水,除去巫山不是云"
        return strOutput
    def OutputAddress(self):
        strOutput = "她家住在"  + self.address + "K41旁的我和她不是顺路,只是在意每一次的路过"
        return strOutput
    def OutputResume(self):
        strOutput = "    " + self.OutputHair() + ","
        strOutput = strOutput + self.OutputHeight() + ","
        strOutput = strOutput + self.OutputWeight() + ","
        strOutput = strOutput + self.OutputOffice() + "。"
        strOutput = strOutput + self.OutputAddress() + "。"
        return strOutput
class CFriend(Cjianjie):
    name = ""
    restionship = ""
    speciatly = ""
    hobby = ""
    character = ""
    def OutputName(self):
        strOutput = "她就是笑容值得等待一千万年的" + self.name
        return strOutput
    def OutputRestionship(self):
        strOutput = "她是我的"+ self.restionship + ";高中两年同窗,忘不了早自习一起被赶出去补作业,忘不了背不过英语去后排罚站,忘不了她曾谢绝了我的巧克力" 
        return strOutput
    def OutputSpecialty(self):
        strOutput = "她擅长" + self.speciatly + ",她那明亮的眼睛中,荡漾这一池清波,清波上荡漾着聪明与智慧;简单纯粹,风华绝代"
        return strOutput
    def OutputHobby(self):
        strOutput = "她爱" + self.hobby + ",老看她发逛街的朋友圈,差点忘了她眼里也有山河、星辰、大海和天空,哈哈,她和我都不曾缺失发现美的眼睛" 
        return strOutput
    def OutputCharacter(self):
        strOutput = "她性格" + self.character + ",尤记开学发书,传给你的是书,她却还给我一句谢谢和一个微笑,也曾开玩笑问她以后要不要嫁入豪门,她却说:“靠自己!”" 
        return strOutput

    def OutputResume(self):
        strOutput= Cjianjie.OutputResume(self)
        strOutput = strOutput+ self.OutputName() + ","
        strOutput = strOutput + self.OutputRestionship() + "。"
        strOutput = strOutput + self.OutputSpecialty() + "。"
        strOutput = strOutput + self.OutputHobby() + "。"
        strOutput = strOutput + self.OutputCharacter() + "。"
        return strOutput

class CMainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
    def __init__(self, parent = None):
        super(CMainWindow, self).__init__(parent)
        self.setupUi(self)

        # 主窗体设置
        self.show()

    def Generate(self):
        f = CFriend()
        f.hair = self.txtHair.text()
        f.height = self.txtHeight.text()
        f.weight = self.txtWeight.text()
        f.office = self.txtOffice.text()
        f.address = self.txtAddress.text()
        f.name = self.txtName.text()
        f.restionship = self.txtRelationship.text()
        f.speciatly= self.txtSpecialty.text()
        f.character= self.txtCharacter.text()
        f.hobby = self.txtHobby.text()
       
        
        self.txtResume.setText(f.OutputResume())

if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = CMainWindow()
    sys.exit(app.exec_())

3. 视频播放程序图片及代码

import numpy as np
import cv2 as cv
cap = cv.VideoCapture('video1.avi')
while cap.isOpened():
    ret, frame = cap.read()
    # if frame is read correctly ret is True
    if not ret:
        print("Can't receive frame (stream end?). Exiting ...")
        break
    # show gray picture
    #gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)
    #cv.imshow('frame', gray)
    cv.imshow('frame', frame)
    if cv.waitKey(1) == ord('q'):
        break
cap.release()
cv.destroyAllWindows()

4. 呈现效果

到此这篇关于基于Python+Pyqt5开发一个应用程序的文章就介绍到这了,更多相关Python+Pyqt5应用程序内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python3+PyQt5实现支持多线程的页面索引器应用程序

    本文通过Python3+pyqt5实现了python Qt GUI 快速编程的19章的页面索引器应用程序例子. /home/yrd/eric_workspace/chap19/walker_ans.py #!/usr/bin/env python3 import codecs import html.entities import re import sys from PyQt5.QtCore import (QMutex, QThread,pyqtSignal,Qt) class Walker

  • python3+PyQt5图形项的自定义和交互 python3实现page Designer应用程序

    本文通过Python3+PyQt5实现<python Qt Gui 快速编程>这本书的page Designer应用程序,采用QGraphicsView,QGraphicsScene,QGraphicsItem,这个程序包含有多个文本,图片和框的页面.有些图形类在PyQt5已过时,所以本代码改动幅度比较大.主要的类或方法的改变如下: QMatrix==>QTransform setMatrix==>setTransform rotate ==> setRotation 本例中

  • Python PyQt5运行程序把输出信息展示到GUI图形界面上

    概述:最近在赶毕业设计,遇到一个问题,爬虫模块我用PyQt5写了图形界面,为了将所有的输出信息都显示到图形界面上遇到了问题. 先演示一下效果最终效果吧,下面两张图用来镇楼.可以看到我们图形界面和程序运行的返回的信息是一样的,并且成功把数据展示到图形界面.   1.怎么获取输出信息.eg:我们平时用编译器,例如pycharm,运行的时候,会有很多信息,或者直接在cmd窗口输入命令的时候,也有同样信息.例如我启动数据库. cmd窗口下执行命令返回的信息 Pycharm运行的效果 我就想把这种类似输出

  • python3+PyQt5重新实现QT事件处理程序

    本文是对<Python Qt GUI快速编程>的第10章的例子events用Python3+PyQt5进行改写,涉及到重新实现QWidget的事件处理程序.本例子涉及到上下文菜单,鼠标事件,键盘事件,可作为重新实现事件处理程序的参考. 注:在创建上下文菜单最简单的方式使用Qwidget.addAction()把动作添加到窗口部件中,再把窗口部件的上下文菜单策略设置为Qt.ActionsContextMenu即可,但是如果像本例子一样要根据不同的状态来提供不同的选项,则要重新实现上下文菜单事件处

  • Python利用PyQt5制作一个获取网络实时NBA数据并播报的GUI程序

    制作NBA数据爬虫 捋顺思路 我们在这里选择的是百度体育带来的数据,我们在百度当中直接搜索NBA跳转到网页,我们可以看到,百度已经为我们提供了相关的数据 我们点击进去后,可以发现这是一个非常简洁的网址 我们看一下这个地址栏,发现毫无规律https://tiyu.baidu.com/live/detail/576O5Zu955S35a2Q6IGM5Lia56%2Bu55CD6IGU6LWbI2Jhc2tldGJhbGwjMjAyMS0wNi0xMyPniLXlo6t2c%2BWspritq%2Bi

  • 基于Python+Pyqt5开发一个应用程序

    介绍你的那个她/他 1. UI -MainWindow设计界面及代码 # -*- coding: utf-8 -*- # Form implementation generated from reading ui file '/media/sf_data/onemore_tjj/Again_tjj/MainWindow.ui' # # Created by: PyQt5 UI code generator 5.14.1 # # WARNING! All changes made in this

  • 用python基于appium模块开发一个自动收取能量的小助手

    导语 ​ 昨天楼下买东西,超市老板居然让我加他支付宝好友???? 嗯哼!对啦,我也很疑惑来着!! 当时以为是方便下次买东西,哦吼也没多想,早上起来睁着我睡眼惺忪的熊猫眼,完了,我的能量都被偷完了! 对!今天木木子教大家种"树"!大家还记得蚂蚁森林叭,轻轻松松手机上就可以种树了! ​ 正文 本文是基于appium模块开发的自动收取能量的小助手! 参数配置如下: desired_caps = { "platformName": "Android",

  • 基于Python制作天眼查小程序的示例代码

    目录 界面搭建 整体布局 界面美化 天眼查爬虫 获取信息 代码编写 结果展示 今天我们一起来制作一个天眼查GUI程序,开宗明义,我们先来看下最终的效果 这次的GUI程序,我们使用的框架是PyQt5,该框架拥有比tkinter更为丰富的内置组件,在界面美化方面,貌似也更胜一筹! 从上图也可以看出,我们的目标还是蛮远大的,最终我们希望可以完成一个工具集合,把我们日常当中常用的功能都集成的该GUI程序中,比如天眼查公司信息,知乎用户知识图谱,B视频弹幕抓取等等. 好了,今天我们先完成天眼查的功能吧~

  • 基于Python的Android图形解锁程序详解

    安卓手机的图形锁是3x3的点阵,按次序连接数个点从而达到锁定/解锁的功能.最少需要连接4个点,最多能连接9个点.网上也有暴力删除手机图形锁的方法,即直接干掉图形锁功能.但假如你想进入别人的手机,但又不想引起其警觉的话--你可以参考一下本文(前提条件:手机需要root,而且打开调试模式.一般来讲,如果用过诸如"豌豆荚手机助手"."360手机助手"一类的软件,都会被要求打开调试模式的.如果要删除手机内置软件,则需要将手机root). 首先科普一下,安卓手机是如何标记这9

  • 基于python实现高速视频传输程序

    今天要说的是一个高速视频流的采集和传输的问题,我不是研究这一块的,没有使用什么算法,仅仅是兴趣导致我很想搞懂这个问题. 1,首先是视频数据[摄像头图像]的采集,通常可以使用vfw在vc或者vb下实现,这个库我用的不好,所以一直不怎么会用.现在我们用到的是python的videocapture库,这个库用起来很简单,如下: from VideoCapture import Device cam = Device() cam.setResolution(320,240) #设置显示分辨率 cam.s

  • 使用python tkinter开发一个爬取B站直播弹幕工具的实现代码

    项目地址 https://github.com/jonssonyan... 开发工具 python 3.7.9 pycharm 2019.3.5 代码 import threading import time import tkinter.simpledialog from tkinter import END, simpledialog, messagebox import requests class Danmu(): def __init__(self, room_id): # 弹幕url

  • 基于JavaSwing+mysql开发一个学生社团管理系统设计和实现

    前言: 项目是使用Java swing+mysql开发,可实现基础数据维护.用户登录注册.社团信息列表查看.社团信息添加.社团信息修改.社团信息删除以及退出注销等功能.界面设计比较简单易学.适合作为Java课设设计以及学习技术使用. 引言 随着全球信息化的迅猛发展,高效规模不断壮大,协会人数急剧增加,有必要开发一个学生社团管理系统来提高社联对社团的管理效率,学生社团管理系统将逐渐取代传统的人工管理模式.本文采用Java+swing+mysql作为开发技术,以Java为编程语言,开发一个基java

  • 基于Python+Tkinter实现一个简易计算器

    目录 设计原理 示例效果 主要代码 设计原理 从结构上来说,一个简单的图形界面,需要由界面组件.组件的事件监听器(响应各类事件的逻辑)和具体的事件处理逻辑组成.界面实现的主要工作是创建各个界面组件对象,对其进行初始化,以及控制各组件之间的层次关系和布局 示例效果 主要代码 import tkinter import math import tkinter.messagebox class Calculator(object): # 界面布局方法 def __init__(self): # 创建主

  • 基于Python实现自动抠图小程序

    目录 导语 正文 1.前期准备 1.1 首先 1.2 网站小介绍 2.正式抠图 2.1 环境安装 2.2 素材(可自选) 2.3 主程序代码 3.效果图 3.1 界面展示 ​3.2 图片展示 总结 导语 大家好!我是木木子,今天天气不是很好,下雨了,让我没点儿写文章的动力啊~ 写程序:一天到晚没事做,一行代码改一天,从白天学完天黑! 在日常的工作和生活中,我们经常会遇到需要抠图的场景,即便是只有一张图片需要抠,也会抠得我们不耐烦,倘若遇到许多张图片需要抠,那就…… 今天教你用Python制作一款

  • 基于Python轻松制作一个股票K线图网站

    目录 获取股票数据 PyEcharts 作图 构建 Web 框架 视图函数编写 模板编写 编辑主逻辑 前端页面编写 在前面的文章中,我们学习了如何使用 Tkinter 构建股票数据抓取以及展示K线图功能,虽然大致的功能已经具备,但是在当今这个人手一个 Web 服务的年代,GUI 程序还是没有 Web 服务来的香啊. 我们需要用到的知识包括 PyEcharts 的使用,tushare 库获取股票数据的方法以及 Flask 的基本用法. 获取股票数据 我们先来看下 tushare 的使用,这个应该是

随机推荐