当前位置: 首页 > news >正文

手车做网课网站多少专注高端网站建设

手车做网课网站多少,专注高端网站建设,百度搜索引擎收录入口,东盟建设工程有限公司网站python之pyqt5-第一个pyqt5程序-图像压缩工具(2.0版本)-小记 此篇为上一篇pyqt5图像压缩小工具改良版。因为比较简单#xff0c;下面直接贴上代码。 效果图#xff1a; # -*- coding: utf-8 -*-# Form implementation generated from reading ui file hellopyqt5.ui # # Crea… python之pyqt5-第一个pyqt5程序-图像压缩工具(2.0版本)-小记 此篇为上一篇pyqt5图像压缩小工具改良版。因为比较简单下面直接贴上代码。 效果图   # -*- coding: utf-8 -*-# Form implementation generated from reading ui file hellopyqt5.ui # # Created by: PyQt5 UI code generator 5.11.3 # # WARNING! All changes made in this file will be lost! import os import sys import zlib #import resource 图标资源可不要 from os import path from PIL import Image from glob import glob from PyQt5.QtGui import QIcon from PyQt5.QtGui import QFont from PyQt5.QtWidgets import QFileDialog from PyQt5.QtWidgets import QMessageBox from PyQt5.QtWidgets import QMainWindow from PyQt5.QtWidgets import QFrame from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_Form(QMainWindow):def __init__(self):super(QtWidgets.QMainWindow,self).__init__()self.setupUi(self)self.retranslateUi(self)def setupUi(self, Form):Form.setObjectName(Form)Form.resize(368, 290)Form.setFixedSize(368, 260)Form.setWindowTitle(图像压缩工具)#图标#Form.setWindowIcon(QIcon(:/1.png))self.tabWidget QtWidgets.QTabWidget(Form)self.tabWidget.setGeometry(QtCore.QRect(10, 10, 351, 271))self.tabWidget.setObjectName(tabWidget)self.tab QtWidgets.QWidget()#指定显示特定tab #self.tab.setCurrentIndex(0)self.tab.setObjectName(tab)self.pushButton_4 QtWidgets.QPushButton(self.tab)self.pushButton_4.setGeometry(QtCore.QRect(100, 120, 141, 41))self.pushButton_4.setObjectName(pushButton_4)#无损选择文件夹self.pushButton_4.clicked.connect(self.opendicno)self.pushButton_3 QtWidgets.QPushButton(self.tab)self.pushButton_3.setGeometry(QtCore.QRect(120, 70, 101, 41))self.pushButton_3.setObjectName(pushButton_3)#无损选择文件self.pushButton_3.clicked.connect(self.openpicno)self.label QtWidgets.QLabel(self.tab)self.label.setGeometry(QtCore.QRect(20, 10, 281, 51))self.label.setTextFormat(QtCore.Qt.AutoText)self.label.setWordWrap(True)self.label.setObjectName(label)self.tabWidget.addTab(self.tab, )self.tab_2 QtWidgets.QWidget()self.tab_2.setObjectName(tab_2)self.pushButton QtWidgets.QPushButton(self.tab_2)self.pushButton.setGeometry(QtCore.QRect(120, 70, 101, 41))self.pushButton.setCheckable(False)self.pushButton.setObjectName(pushButton)#有损压缩打开文件self.pushButton.clicked.connect(self.openfile)self.pushButton_2 QtWidgets.QPushButton(self.tab_2)self.pushButton_2.setGeometry(QtCore.QRect(100, 120, 141, 41))self.pushButton_2.setCheckable(False)self.pushButton_2.setObjectName(pushButton_2)#有损压缩打开文件夹self.pushButton_2.clicked.connect(self.opendic)#frame和radiobuttonself.frame QtWidgets.QFrame(self.tab_2)self.frame.setGeometry(QtCore.QRect(0, 160, 341, 71))self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)self.frame.setFrameShadow(QtWidgets.QFrame.Raised)self.frame.setObjectName(frame) self.frame.setStyleSheet(background-color:#FAEBD7;)self.frame.setFrameShape(QFrame.Box)self.frame.setLineWidth(2)self.radioButton QtWidgets.QRadioButton(self.frame)self.radioButton.setGeometry(QtCore.QRect(20, 40, 51, 16))self.radioButton.setObjectName(radioButton)self.radioButton_2 QtWidgets.QRadioButton(self.frame)self.radioButton_2.setGeometry(QtCore.QRect(100, 40, 51, 16))self.radioButton_2.setObjectName(radioButton_2)self.radioButton_3 QtWidgets.QRadioButton(self.frame)self.radioButton_3.setGeometry(QtCore.QRect(190, 40, 51, 16))self.radioButton_3.setObjectName(radioButton_3)self.radioButton_4 QtWidgets.QRadioButton(self.frame)self.radioButton_4.setGeometry(QtCore.QRect(280, 40, 51, 16))self.radioButton_4.setObjectName(radioButton_4)#toggled信号与槽函数绑定self.radioButton.toggled.connect(lambda :self.btnstate(self.radioButton))self.radioButton_2.toggled.connect(lambda :self.btnstate(self.radioButton_2))self.radioButton_3.toggled.connect(lambda :self.btnstate(self.radioButton_3))self.radioButton_4.toggled.connect(lambda :self.btnstate(self.radioButton_4))#2个labelself.label_3 QtWidgets.QLabel(self.frame)self.label_3.setGeometry(QtCore.QRect(10, 10, 81, 21))self.label_3.setObjectName(label_3)self.tabWidget.addTab(self.tab_2, )self.label_2 QtWidgets.QLabel(self.tab_2)self.label_2.setGeometry(QtCore.QRect(20, 10, 281, 51))self.label_2.setTextFormat(QtCore.Qt.AutoText)self.label_2.setWordWrap(True)self.label_2.setObjectName(label_2)self.tabWidget.addTab(self.tab_2, )self.tabWidget.setCurrentIndex(0)self.retranslateUi(Form)#原来你在这里#self.tabWidget.setCurrentIndex(1)QtCore.QMetaObject.connectSlotsByName(Form)bsfloat(0.8)def btnstate(self,btn):global bsif btn.text()0.8X:if btn.isChecked()True:bsfloat(0.8)print(bs)else:print(0.8没有被选中)if btn.text()0.6X:if btn.isChecked()True:#global bsbsfloat(0.6)print(bs)else:print(0.6没有被选中)if btn.text()0.4X:if btn.isChecked()True:#global bsbsfloat(0.4)print(bs)else:print(0.4没有被选中)if btn.text()0.2X:if btn.isChecked()True:#global bsbsfloat(0.2)print(bs)else:print(0.2没有被选中)def openfile(self):try:if self.radioButton.isChecked()True or self.radioButton_2.isChecked()True or self.radioButton_3.isChecked()True or self.radioButton_4.isChecked()True:filename ,filetype QFileDialog.getOpenFileName(self,选择文件,./,All Files (*);;Image Files (*.jpg))if filename ! :pathfilename.replace(r/,r\\)try:img Image.open(path) # 打开图片文件if img.width5:#等比例缩小widthimg.widthheightimg.heightsize(width*bs,height*bs)img.thumbnail(size, Image.ANTIALIAS) # 使用抗锯齿模式生成缩略图压缩图片fos.path.splitext(path)newnamef[0] -已压缩newnamenewnamef[1]img.save(newname, JPEG) # 保存成与原文件名一致的文件会自动覆盖源文件else:print(file 宽度小已忽略)except Exception as e:print(e)QMessageBox.information(self,恭喜成功了, 已成功压缩图片到原有目录,QMessageBox.Yes)#QMessageBox.Yes | QMessageBox.Noelse:QMessageBox.warning(self,选择压缩比例, 请先选择压缩比例。,QMessageBox.Yes)except Exception as e:print(e)def opendic(self):try:if self.radioButton.isChecked()True or self.radioButton_2.isChecked()True or self.radioButton_3.isChecked()True or self.radioButton_4.isChecked()True:dic QFileDialog.getExistingDirectory(self,选择文件夹, ./)if dic ! :pathdic.replace(r/,r\\)# glob.glob()用来进行模糊查询增加参数recursiveTrue后可以使用**/来匹配所有子目录files glob( path **/*.JPG, recursiveTrue) glob(path **/*.jpg, recursiveTrue)total len(files) #总文件数cur 1 #当前文件序号for infile in files:try:print(进度: str(cur) / str(total) infile)img Image.open(infile) # 打开图片文件if img.width5:widthimg.widthheightimg.heightsize(width*bs,height*bs)img.thumbnail(size, Image.ANTIALIAS) # 使用抗锯齿模式生成缩略图压缩图片fos.path.splitext(infile)newnamef[0] -已压缩newnamenewnamef[1]img.save(newname, JPEG) # infile保存成与原文件名一致的文件会自动覆盖源文件else:print(infile 宽度小无需处理已忽略)cur cur 1except Exception as e:print(e)QMessageBox.information(self,恭喜成功了, 已成功压缩图片到原有目录,QMessageBox.Yes)else:QMessageBox.warning(self,选择压缩比例, 请先选择压缩比例。,QMessageBox.Yes)except Exception as e:print(e)def openpicno(self):filename ,filetype QFileDialog.getOpenFileName(self,选择文件,./,All Files (*);;Image Files (*.jpg))if filename ! :try:pathfilename.replace(r/,r\\)im Image.open(path) # 打开图片imBytes im.tobytes() # 把图片转换成bytes流imBytes zlib.compress(imBytes, 9) # 对图像字节串进行压缩,第二个参数是压缩率有-10-9按个人情况进行设置我都试过了感觉没多大变化所以随便设置了5im2 Image.frombytes(RGB, im.size, zlib.decompress(imBytes)) # 压缩成新的图片fos.path.splitext(path)newnamef[0] -已压缩newnamenewnamef[1]im2.save(newname) # 保存成与原文件名一致的文件会自动覆盖源文件QMessageBox.information(self,恭喜成功了, 已成功压缩图片到原有目录,QMessageBox.Yes)except Exception as e:print(e)def opendicno(self):dic QFileDialog.getExistingDirectory(self,选择文件夹, ./)pathdic.replace(r/,r\\)if dic ! :pathdic.replace(r/,r\\)# glob.glob()用来进行模糊查询增加参数recursiveTrue后可以使用**/来匹配所有子目录files glob( path **/*.JPG, recursiveTrue) glob(path **/*.jpg, recursiveTrue)total len(files) #总文件数print(total)cur 1 #当前文件序号for infile in files:try:im Image.open(infile) # 打开if im.width5:imBytes im.tobytes()imBytes zlib.compress(imBytes, 9)im2 Image.frombytes(RGB, im.size, zlib.decompress(imBytes)) # 压缩成新图片#改名------------------------fos.path.splitext(infile)newnamef[0] -已压缩newnamenewnamef[1]#改名------------------------im2.save(newname, JPEG) # 保存成与原文件名一致的文件会自动覆盖源文件else:print(infile 宽度小于1200px无需处理已忽略)cur cur 1except Exception as e:print(e)QMessageBox.information(self,恭喜成功了, 已成功压缩图片到原有目录,QMessageBox.Yes)def retranslateUi(self, Form):_translate QtCore.QCoreApplication.translateForm.setWindowTitle(_translate(Form, 图像压缩工具))self.pushButton_4.setText(_translate(Form, 选择文件夹))self.pushButton_3.setText(_translate(Form, 选择文件))self.label.setText(_translate(Form, 注无损压缩不改变图像分辨率仅改变DPI适合10M以上超大图片压缩如需要进一步压缩可再进行有损压缩。))self.label_2.setText(_translate(Form, 注通过缩小图像分辨率压缩图片。请先选择合适的缩小比例。))self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate(Form, 无损压缩))self.pushButton.setText(_translate(Form, 选择文件))self.pushButton_2.setText(_translate(Form, 选择文件夹))self.radioButton.setText(_translate(Form, 0.8X))self.radioButton_2.setText(_translate(Form, 0.6X))self.radioButton_3.setText(_translate(Form, 0.4X))self.radioButton_4.setText(_translate(Form, 0.2X))self.label_3.setText(_translate(Form, 选择压缩比例))self.label_3.setToolTip(_translate(Form, htmlhead/bodyp手动指定压缩分辨率/p/body/html))self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate(Form, 有损压缩)) #self.tabWidget.setCurrentIndex(self.tabWidget.indexOf(self.tab))if __name__ __main__: app QtWidgets.QApplication(sys.argv)Form QtWidgets.QMainWindow()ui Ui_Form()ui.setupUi(Form)Form.show()sys.exit(app.exec_())   posted on 2019-07-18 18:03 蓝皮阿五 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/lanpiawu/p/11209044.html
http://www.yutouwan.com/news/226179/

相关文章:

  • 公司网站建设汇报网络架构图描述
  • 网站功能策划同程旅游
  • 网站企业推广方案网站建设如何做
  • 深圳网站制作服务公网站已经收录了 但是输入公司名找不到
  • 网站推广引流软件seo最新优化技术
  • 沈阳网站建设服务器做网站首选智投未来1
  • 做网站简介设计页面教案
  • 南京做企业网站的公司广东省建筑企业资质查询平台
  • 做网站公司郑州汉狮怎么制作一个链接
  • 哪种网站名称容易通过备案审核如何提高网站访客数
  • 长春制作网站济南做企业网站的公司
  • 求人做网站广州网页制作
  • 中山移动网站建设多少钱wordpress mysql 设置
  • jsp做网站de后台管理公司网站怎么做关键词
  • 企业网站建设条件wordpress认证
  • 美乐乐网站模板网站作业成品
  • 广州网站系统开发全网推广代理
  • 精品课程网站建设毕业设计论文河南汝州文明建设门户网站
  • python进行网站开发营销策划方案案例
  • 网站申请名称建站软件有哪些功能
  • 登陆网站空间盐城城南建设局一局网站
  • 佛山中谦建设网站网站外链查询
  • 下载上海发布官方网站企业展厅策划设计公司有哪些
  • 好网站页面网站什么语言好
  • 微信上打开连接的网站怎么做网站视频要vip怎么看
  • wordpress首页加音乐赣州seo唐三
  • 网站后台模板关联自己做的网站百度广告推广收费标准
  • 做海报免费素材网站有哪些网站设计与网页制作公司
  • 织梦dede建站教程视频网站建设代码编译的问题及解决方案
  • 网站 方案html代码大全txt