最终效果图如上所示

第一步

先在designer画好软件效果布局

这里默认label标签设置了图片

保存为qianming2.ui 然后在vscode里转成Ui_qianming2.py文件

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

# Form implementation generated from reading ui file 'f:\pydemo\Gui_Pyqt5\qianming2.ui'

#

# Created by: PyQt5 UI code generator 5.13.0

#

# 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(786, 499)

self.centralwidget = QtWidgets.QWidget(MainWindow)

self.centralwidget.setObjectName("centralwidget")

self.textEdit = QtWidgets.QTextEdit(self.centralwidget)

self.textEdit.setGeometry(QtCore.QRect(30, 30, 321, 51))

self.textEdit.setObjectName("textEdit")

self.pushButton = QtWidgets.QPushButton(self.centralwidget)

self.pushButton.setGeometry(QtCore.QRect(30, 100, 141, 51))

self.pushButton.setObjectName("pushButton")

self.label = QtWidgets.QLabel(self.centralwidget)

self.label.setGeometry(QtCore.QRect(30, 190, 661, 201))

self.label.setText("")

self.label.setPixmap(QtGui.QPixmap("157977128237101.gif"))

self.label.setObjectName("label")

self.label_2 = QtWidgets.QLabel(self.centralwidget)

self.label_2.setGeometry(QtCore.QRect(370, 60, 71, 16))

self.label_2.setObjectName("label_2")

self.comboBox = QtWidgets.QComboBox(self.centralwidget)

self.comboBox.setGeometry(QtCore.QRect(450, 30, 141, 51))

self.comboBox.setLayoutDirection(QtCore.Qt.LeftToRight)

self.comboBox.setObjectName("comboBox")

self.comboBox.addItem("")

self.comboBox.addItem("")

self.comboBox.addItem("")

self.comboBox.addItem("")

self.comboBox.addItem("")

self.comboBox.addItem("")

self.comboBox.addItem("")

MainWindow.setCentralWidget(self.centralwidget)

self.menubar = QtWidgets.QMenuBar(MainWindow)

self.menubar.setGeometry(QtCore.QRect(0, 0, 786, 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", "个性签名设计"))

self.pushButton.setText(_translate("MainWindow", "马上设计"))

self.label_2.setText(_translate("MainWindow", "请写入名字"))

self.comboBox.setItemText(0, _translate("MainWindow", "个性签"))

self.comboBox.setItemText(1, _translate("MainWindow", "连笔签"))

self.comboBox.setItemText(2, _translate("MainWindow", "潇洒签"))

self.comboBox.setItemText(3, _translate("MainWindow", "草体签"))

self.comboBox.setItemText(4, _translate("MainWindow", "合文签"))

self.comboBox.setItemText(5, _translate("MainWindow", "商务签"))

self.comboBox.setItemText(6, _translate("MainWindow", "可爱签"))

第二步

编写代码:

import sys

from PyQt5.QtWidgets import QApplication, QMainWindow,QMessageBox

from PyQt5.QtGui import *

from PyQt5 import QtWidgets

import Ui_qianming2

from functools import partial

import requests

from bs4 import BeautifulSoup

#这里是消息提示弹出框的主要代码

class MyWindow(QtWidgets.QWidget):

def __init__(self):

super().__init__()

#消息提示框

def msg(self):

QMessageBox.warning(self,"提示框","输入框不能留空")

# QMessageBox.question(self,"消息框标题","这是一条问答。")

# QMessageBox.information(self,"消息框标题","这是一条消息。")

#主要处理函数

def convert(ui):

text = ui.comboBox.currentText()#返回选中项的文本内容

if text == '个性签':

font = 'jfcs.ttf'

elif text == '连笔签':

font = 'qmt.ttf'

elif text == '潇洒签':

font = 'bzcs.ttf'

elif text == '草体签':

font = 'lfc.ttf'

elif text == '合文签':

font = 'haku.ttf'

elif text == '商务签':

font = 'zql.ttf'

else:

font = 'yqk.ttf'

start_url = 'http://www.uustv.com/'

name = ui.textEdit.toPlainText()

if name == '':

myw = MyWindow()

myw.msg()

return

else:

name = ui.textEdit.toPlainText()

data = {

'word': name,

'sizes': '60',

'fonts': font,

'fontcolor': '#000000'

}

result = requests.post(start_url, data=data)

result.encoding='utf-8'

html = result.text

soup = BeautifulSoup(html,'html.parser')

img_url = soup.find('div', class_="tu").find('img')['src']

Urls = start_url + img_url

res = requests.get(Urls)

#引用网络图片地址

img = QImage.fromData(res.content)

ui.label.setPixmap(QPixmap.fromImage(img))

'''

#已用本地图片地址代码

pic=res.content

with open('{}'.format(img_url.split('/')[-1]), 'wb') as f:

f.write(pic)

ui.label.setPixmap(QPixmap(img_url.split('/')[-1]))

'''

if __name__ == '__main__':

app = QApplication(sys.argv)

MainWindow = QMainWindow()

ui = Ui_qianming2.Ui_MainWindow()

ui.setupUi(MainWindow)

MainWindow.show()

ui.pushButton.clicked.connect(partial(convert, ui))

ui.comboBox.activated.connect(partial(convert, ui))

sys.exit(app.exec_())

python图片水印软件pyqt5_Pyqt5+designer+python 实现个性签名小软件相关推荐

  1. 10分钟教你用Python玩转微信之抓取好友个性签名制作词云

    10分钟教你用Python玩转微信之抓取好友个性签名制作词云 01 前言+展示 各位小伙伴我又来啦.今天带大家玩点好玩的东西,用Python抓取我们的微信好友个性签名,然后制作词云.怎样,有趣吧~好了 ...

  2. python图片水印软件_使用Python编写批量添加图片水印程序:一、代码方案

    一.为什么要为图片添加水印 在互联网写文章最头疼的一件事情就是发表的文章容易被抄袭,各种抄袭的手段真的是层出不穷.无奈,只能在不影响阅读体验的情况下不断地提高反抄袭的难度.虽然防不住,但是为文章中的图 ...

  3. python pdf 图片水印_怎样用python给pdf批量添加水印并加密

    很多时候需要给pdf添加水印,而且还要加密文件,这些在Python中是如何实现的呢?学过编程的小伙伴准备好迎接今天的挑战吧. 1.设置路径 import os os.getcwd() os.chdir ...

  4. 个性签名设计软件_佩服!我用Python设计了一个签名软件

    临近年末,大家都忙着签发礼品,写的一手好的签名,会让大家更有成就感,今天,小安就带领大家来设计一个基于tkinter+爬虫的签名设计软件,方便大家设计签名. 要设计这款软件,就需要了解tkinter与 ...

  5. python图片横向合并_使用python进行图片横向拼接

    我们在空间.微信.微博等各种平台都会看到很多小伙伴在发表说说的同时附带的是长图,一张图片包含很多张图片的内容. 那么如何将多张图片进行横向拼接成一张长图? 达到这种的效果: (图片均来自unsplas ...

  6. python图片文字合成视频_利用Python将多张图片合成视频的实现

    今天要做一个量子隧穿的的演示动画,在CSDN上看了很多大佬的文章,然而忙了接近半天才做好这件事.把踩过的坑记一下,同时这段代码也是值得记录的,因为以后也可能遇到类似的工作. 先上代码` import ...

  7. python图片字符分割_图像分割python

    常用的十大 python 图像处理工具 本文为 AI 研习社编译的技术博客,原标题 : 10 Python image manipulation tools. 作者 | Parul Pandey 翻译 ...

  8. 使用python中的tkinter模块制作一个学习打卡小软件

    学习任务打卡小软件---戈多Sensei 1.制定任务 2.完成任务 3.学习评估 最近为了给我的星星⭐写一个学习记录软件,学习了一下python中的tkinter模块,做了一个可视化打卡界面,此处为 ...

  9. python图片水印软件_基于Python制作的控制鼠标删除图片水印的小工具

    在做视频或者图片处理的时候,我们经常会遇到存在水印的情况,或者我们需要去除图片的某一个部分, 这时候我们就需要想办法去除不需要的这一部分.下面这个工具能够控制鼠标将图片上的任意部分改变颜色, 从而达到 ...

最新文章

  1. clojurescript_为什么ClojureScript在NPM上如此出色
  2. 苹果被罚3.1635亿元,因不愿开放第三方支付!
  3. javascript模拟sleep
  4. mysql dump 增量_mysql mysqldump数据备份和增量备份
  5. 第13章 Django框架
  6. oracle 游标 904,如何解决Oracle数据库游标连接超出问题
  7. centos7 校正linux系统时间_Linux系统:Centos7下搭建ClickHouse列式存储数据库
  8. 机器学习SVD【一】
  9. aix oracle版本查看命令,AIX 常用命令
  10. STN 图像配准一些记录
  11. WELCOME TO `ICE WORLD`
  12. blog增量追加ing~(1/10阶段)ctf oj
  13. JMETER-清除cookies
  14. 【以太网通信】PHY 芯片回环测试
  15. 【Multisim仿真】二极管加正向和反向电压测量实验
  16. 二次型的标准型、规范型
  17. 1. oralce数据库安装以及简单的SQL语句
  18. 【微信小程序】设置合法域名
  19. CPU Fan speed detection error! Please ensure your CPU cooler is properly connected to the CPU_FAN
  20. 用网线连接两台电脑传输文件

热门文章

  1. 厂商是怎么样查到公司在用盗版,有什么方法可以核实真假?
  2. vue的v-系列事件
  3. HttpClient设置超时时间无效
  4. springboot-Themeleaf代替jsp
  5. 寻找#Moonbeam全球大使
  6. 计算机与用户交互的界面是什么,交互界面是什么
  7. python CV2 int8 和 float转换
  8. 【洛谷】P1379 八数码难题
  9. Java学习Day019(网上订餐系统)
  10. 计算机二级经验总结,计算机二级又考砸了!总结了这些经验,让我重拾信心!...