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

优秀的响应式网站模板下载模板网站的弊端

优秀的响应式网站模板下载,模板网站的弊端,汽车之家官网首页网页,做特卖的网站怎么赚钱OpenCV 提供了丰富的图像处理和计算机视觉功能,可以实现各种复杂的图像处理任务,如目标检测、人脸识别、图像分割等。 PyQt(或PySide)是一个创建GUI应用程序的工具包,它是Python编程语言和Qt库的成功融合。Qt库是最强大的GUI库之一。Qt的快速…

        OpenCV 提供了丰富的图像处理和计算机视觉功能,可以实现各种复杂的图像处理任务,如目标检测、人脸识别、图像分割等。

        PyQt(或PySide)是一个创建GUI应用程序的工具包,它是Python编程语言和Qt库的成功融合。Qt库是最强大的GUI库之一。Qt的快速界面编辑工具Qt Designer提供了直观的可视化界面设计环境,通过拖拽和放置控件来设计界面,简化了界面设计的过程。PyQt提供了丰富的控件库,同时支持多种媒体文件的展示。尤其是PyQt的信号与槽的刷新机制提供了高效和可靠的信号响应机制。

        下面以一个实际的项目搭建过程为demo,尝试联合使用以上两个库,力争各尽所长。原则上,前端的界面显示和操作交给PySide,后台的图像处理交给OpenCV。

这是一个显微拍照画面内的轮廓识别和尺寸测量、数量统计项目。

一、显示界面框架搭建

1、主界面

主界面利用Qt Designer 制作,命名为main_window.ui并保存。

 主按钮站:

应该达到的运行效果:

2、主界面的按钮

 按钮有两种:

第一种是“点动”式的,图标为双状态,例如“新建项目”按钮。其样式表为:

第二种是“翻转“式的,每点击一次状态反转,即:可以反转”checked“状态。按钮图标为三个状态,例如“局部放大”按钮。其样式表为: 

 这种按钮,自定义了一个特性:activated来取代系统自带的checked,当这个特性activated="true"时,改变按钮的背景色。当然也可以使用系统自带的checked特性来实现同样的功能,这里的目的主要是练习一下 按钮的自定义特性的应用。

使用系统自带的checked特性:

两种方法在显示上的微妙差别如下:左边是自定义特性的,右边是使用系统自带的checked特性来实现的。区别在于系统自带的checked特性显示的边框是pressed,即按下时的边框特性。

3、阶梯渐变的色条

主界面的颜色样例条,自定义脚本,命名为GradientLabel.py:

from PySide6.QtGui import QPainter, QColor, QLinearGradient
from PySide6.QtWidgets import QMainWindow, QLabel, QVBoxLayout, QWidget
from PySide6.QtCore import Qtclass GradientLabel(QLabel):# 定义颜色def def_colors(self, begin_color, mid_color, end_color):self.begin_color = begin_colorself.mid_color = mid_colorself.end_color = end_color# 重新定义绘画事件def paintEvent(self, event):painter = QPainter(self)painter.setRenderHint(QPainter.Antialiasing)gradient = QLinearGradient(0, 0, 0, self.height())gradient.setColorAt(1, self.end_color)gradient.setColorAt(0.5, self.mid_color)gradient.setColorAt(0, self.begin_color)painter.fillRect(self.rect(), gradient)class MyMainWindow(QMainWindow):def __init__(self):super().__init__()central_widget = QWidget(self)self.setCentralWidget(central_widget)layout = QVBoxLayout(central_widget)gradient_label = GradientLabel(self)begin = QColor(255, 100, 0)mid = QColor(8, 180, 8)end = QColor(80, 80, 255)gradient_label.def_colors(begin, mid, end)gradient_label.setAlignment(Qt.AlignCenter)layout.addWidget(gradient_label)self.setWindowTitle("Gradient Label Example")if __name__ == "__main__":import sysfrom PySide6.QtWidgets import QApplicationapp = QApplication(sys.argv)window = MyMainWindow()window.show()sys.exit(app.exec())

 运行效果:

 将自定义脚本保存在主程序脚本同目录,并在Qt Designer 将颜色样例条”提升为“该自定义脚本。

4、图像显示区的自定义脚本

 这是一个QLabel,其显示的内容为QPixmap。脚本逐步再完善。

二、主程序脚本框架搭建 

1、目录结构:

 JSON:存放json文件

MEDIA:存放媒体文件

PROJECT:工程文件

PYS:存放脚本

SRC:按钮图标等源文件

UIS:存放显示界面文件

2、编写初步的主程序框架:

 首先要使用pyuic和pyrcc工具将图像资源转换成py文件并与主程序脚本放置在同一文件夹下,然后编写主程序脚本:

# 这是一个图像处理小应用的示例脚本。# encoding: utf-8
import json
import sysfrom PySide6.QtCore import QObject
from PySide6.QtWidgets import QApplication, QMainWindowimport main_window_rc  # 导入主画面# 定义主窗口
class MainWindow(QMainWindow, main_window_rc.Ui_MainWindow):def __init__(self):super().__init__()# ################公用的作业函数#############################
class Jobs:@staticmethod# 读取JSON文件,分配参数def read_json():with open('../JSON/setting.json', 'r', encoding='utf-8') as file_json:ui.json_data = json.load(file_json)ui.settings = ui.json_data['setting']  # 项目参数的定义@staticmethod# 系统的初始化def start_todo():pass# 退出前的操作@staticmethoddef before_quit():with open('../JSON/setting.json', 'w') as file:  # 保存json文件json.dump(ui.json_data, file, indent=4)# ################图像处理的过程函数#############################
def Image_processing(steps):for step in steps:# 系统的初始化if step == 'start':pass# step0,步骤0if step == 0:passcontinue# step1,步骤1if step == 1:passcontinue# step2,步骤2if step == 2:passcontinue# ###########################信号的连接和槽函数####################################
def signal_slot():# #####################主窗口的信号和槽####################################pass# #############################主程序###################################
if __name__ == '__main__':app = QApplication(sys.argv)# #######################项目级别的定义###################################class UI(QObject):  # 将项目定义为QObject,用来管理项目级别的信号和变量# ###########__init__###############def __init__(self):super().__init__()# ########################本项目的实例化###################################ui = UI()  # 项目实例化# ########################实例化画面#################################window1 = MainWindow()  # 主画面实例化window1.show()  # 显示画面window1.setupUi(window1)  # 画面初始化Jobs.start_todo()  # 系统初始化signal_slot()  # 信号与槽的定义app.aboutToQuit.connect(Jobs.before_quit)  # 退出系统之前的操作sys.exit(app.exec())

 本阶段运行截图:

 持续更新,直至完成。

感兴趣的朋友可以向我索要源文件并参与项目的共同学习和完善,同时也特别期待大神高手的指点和批评!

http://www.yayakq.cn/news/747348/

相关文章:

  • 南昌网站搭建制作公司新零售六大模式
  • 平面设计官方网站怎样建外贸公司网站
  • 关于百度网站的优缺点南京公司网站建设
  • 网站建设的知识东营建设信息网网站
  • 重庆建设网站多久时间好品质高端网站设计厂家
  • 广州市做网站的民权平台网站建设
  • 给企业做网站推广好么山东济宁省建设厅官方网站
  • 51的网站是啥wordpress弹窗网页
  • wordpress 新闻类网站个人网页背景图
  • 网站建设步骤实践报告品牌建设 凝心
  • 网站图片上传功能怎么做的网加速器
  • 学院网站群建设的目标创意设计工作室
  • 上海站群优化公司网站竞价词怎么做
  • 随州网站建设厂家分类信息网站营销
  • 比较好的网站建设技术开发玛沁县wap网站建设公司
  • 方案巴巴策划网站潍坊网站的公司电话
  • php做网站安全微网站建设的第一步是什么
  • 建设网站公司网站做网站维护要多少钱一年
  • 推广项目网站最后两年会出妖
  • 即墨做网站做网站怎么租用服务器
  • 信贷员在哪个网站做推广域名购买服务商
  • 做网站通常到哪找图片地方战友网站建设
  • 北京58网站建设竞价关键词排名软件
  • 建设学分银行网站策划书中企做一个网站多少钱
  • 做网站多少前做网站用哪个服务器
  • 网站上添加百度地图导航有哪些设计好看的企业官网
  • 做疏通什么网站推广好做网站收费标准
  • 部门网站建设管理经验交流材料wordpress 制作网站模板教程
  • 网站建设用到的软件凡科建站电话
  • 网站开发兼职防蚊手环移动网站建设