- 博客(221)
- 收藏
- 关注
原创 Flask架构--路由和蓝图
app.route装饰器。(装饰器为某个url指定对应的视图函数)falsk框架中,视图定义在那,路由就跟着在哪。查看所有的路由,需要查看所有的视图函数。定义flask 视图时,如果不加入任何请求方式,他只支持get和自带的请求方式。需要其他请求方式时,要放开请求方式,通过methods参数,他是一个列表形式的参数。需求二:在构建一个网站时,不只有一个视图函数,业务逻辑处理多,可能需要定义很多接口,所以视图就会有很多。视图多的情况下,在文件中进行管理,用到蓝图。可以所有视图的所有路由添加前缀。
2024-01-14 20:21:46 706
原创 drag diffusion中的gradio代码逐行解析(二)
5.gr.Button("Generate Image")创建按钮,用户可以点击按钮执行特定的操作。1.gr.Number(数字):用于处理数值输入和输出。数值可以选择False,不可见功能。2.gr.Slider(滑块):用于创建可拖动的滑块,用于选择范围内的数值。3.gr.Dropdown(下拉选项):创建下拉选项菜单,方便用户进行选择。select()用于监听用户在组件中的选择事件。6.使用click()方法监听组件的点击事件。
2023-09-22 18:21:47 297
原创 Yolo v8数据马赛克数据增强代码详解
x1a, y1a, x2a, y2a = max(xc - w, 0), max(yc - h, 0), xc, yc # xmin, ymin, xmax, ymax (large image),确定画布区域。9.将标签中的(x,y,w,h)坐标转换为,(w,h,padw,padd)为相对于resize之后图像的数据,该函数的功能是将(x,y,w,h)坐标转换为标签的左上角和右下角坐标。i=0时,左上角的范围:x1a, y1a, x2a, y2a,马赛克图像的左上角和右下角。
2023-09-22 17:27:18 938
原创 Yolo v8中的上下文管理器
上下文管理器中有__enter__()和__exit__()俩个特殊方法。__enter__()方法在with语句块执行前调用,负责获取资源并返回资源对象。with语句开始执行时,会先调用__enter__()方法中的内容用于获取资源,这一部分可以进行资源对象的操作。__enter__()方法返回self自身作为资源对象。上下文管理器通过with语句来自动获取和释放资源,确保资源的正确管理和关闭,避免资源泄露和错误。上下文管理器的使用:具备上下文管理器之后,可以直接使用with语句管理资源的获取和释放。
2023-09-20 08:18:36 96
原创 VS code远程调试代码配置
2.打开远程资源管理器,点击右上角设置进入配置界面,添加远程服务器账号,输入:ssh 用户名@服务器账号,回车。1.下载远程连接插件Remote-SSH。服务器名称右键可进行连接。
2023-08-07 18:36:00 77
原创 linux命令
查看文件内容,直接使用hello.sh执行文件报错;因为在命令行输入的内容都是在PATH中寻找,但是PATH中没有改内容,所以会报错,可以使用相对路径的方式找到当前文件并执行。shebang之后的解释程序需要写绝对路径(如:#!/bin/bash),它是不会到$PATH中寻找解释器的。在linux系统中,程序会分析shebang后的内容,作为解释器的指令。如果脚本未指定shebang,执行过程中会默认调用python解释器。shebang是出现在文本文件的第一行的前两个字符#!执行权限不够,加上权限。
2023-08-04 13:34:01 150
原创 小目标检测总结
1、小目标检测长期以来是目标检测中的一个难点,其旨在精准检测出图像中可视化特征极少的小目标(32 像素×32 像素以下的目标)。相 对于常规尺寸的目标,小目标通常缺乏充足的外观信息,因此难以将它们与背景或相似的目标区分开 来。此外,真实场景是错综复杂的,通常会存在光照剧烈变化、目标遮挡、目标稠密相连和目标尺度变化等问题,而这些因素对 小目标特征的影响是更加剧烈的,进一步加大了小目标检测的难度。2、小目标的定义:基于相对尺度定义,基于绝对尺度定义。将小目标定义为分辨率小于32像素×32像素的目标。Torr
2023-07-31 14:47:45 339
原创 QTDesigner简介
1、QTDesigner简介:手写代码工作量大、代码结构容易搞得混乱。设计工具:直观、高效,工作量小,方便调试。界面和逻辑分离后期好维护。介绍:(实现了视图和逻辑的分离,开发代码更容易分离)配置:流程演示:登录界面设置:①:首先从展示控件中拖入两个展示控件QLabel(同时设置快捷键):②:从输入控件中拖入两个LineEdit控件:③:从buttons控件中拖入两个PushButton控件:④:选中密码控件,将他的属性改成密文格式。⑤...
2022-04-19 11:44:48 14214 1
原创 QSS---注意事项
1、QSS---注意事项:级联:QSS可以在QApplication(整个应用程序中所有的控件)、父控件(控件本身,以及空控件内部所有的子控件)、子控件中设置;一个控件的最终样式,会受到父控件和QApplication的影响。冲突:如果一个控件,作为后代控件,被多个祖先控件影响,则会产生不同属性之间进行叠加,相同属性之间进行覆盖。(控件最终会受到哪个控件的影响,看特异性,特指某一个控件,优先级会更高一点)确定控件属性,首先观察其特异性,在特异性相同的情况下,根据其先后顺序确定其属性。
2022-04-14 20:21:14 524
原创 QSS-声明
1、QSS声明---边框--颜色设置:(可以统一设计、也可以分开设计)border-color:red;2、边框---圆角:(一个控件的边框是一个矩形,将尖的直角换成一个比较缓的圆弧),只需要确定边框的圆角半径就可。3、外边距:(默认情况下,外边距、边框等都为0)注意:resize调整的整个控件的尺寸(包括内外边距、边框等),如果外边距变大,边框以内的尺寸会变小。4、内边距:(padding,通过内边距调整内容的位置)# 设置文本颜色color:orange..
2022-04-13 17:17:51 2171
原创 python进度条库tqdm
参考:python进度条库tqdm详解 - 知乎1、tqdm是python的进度条库,主要有两种运行模式:①:基于迭代器,自动更新。②:基于手动指定代码更新。注意:需要传入的是一个iterable即可迭代对象;desc字符串,左边进度条描述文字。①基于迭代对象运行trange(i) 与tqdm(range(i))意思相同,是一种简单写法。import timefrom tqdm import tqdm, trangefor i in tqdm(range(100), de
2022-04-10 11:00:00 2118 2
原创 QSS伪装态
1、QSS伪装态:限制控件只能在某种状态下被样式表作用。(当鼠标按下去是一种样式)hover:鼠标移动到控件上才会作用样式表的声明。复选框左侧的方框在不同的状态下(选中和未选中状态)设置不同的图片:复选框支持三态的情况是需要设置才可以:cb.setTristate(True)2、focus控件获取焦点:(获取焦点之后设置绿色的边框)QWidget:focus{ border:2px dotted green;}控件被禁用,修改特定样式,如果控件有效,设置其他样式:
2022-04-09 11:41:07 1020
原创 QSS---样式表
1、QSS---样式表:通过样式表调整外观样式。(有些属性只适用于部分控件)选择器:指再参考的过程中借助选择器二次筛选。当一个控件不设置父控件,他就是一个独立的窗口;局部变量走完某个方法不被引用的情况下,就会被释放,所以将他设置为self,为全局变量。from PyQt5.Qt import *class Window(QWidget): def __init__(self): super().__init__() self.setWind.
2022-04-02 11:19:41 2038
原创 布局管理器-----尺寸策略
1、尺寸策略:控件的最小策略会告诉布局系统如何对他进行拉伸或压缩:有个QSizePolicy()包括水平方向(策略、拉伸系数)和垂直方向(策略、拉伸系数),拉伸系数建立在拉伸策略是可以被拉伸的前提下。控件的尺寸策略:要求:标签1的宽和高都是定的:水平方向和垂直方向的尺寸都是固定的,参考的def sizeHint()方法中固定尺寸。class Label(QLabel): # 设置最小尺寸(200, 300) def minimumSizeHint(se.
2022-03-26 11:19:41 453
原创 QStackLayout---简介
1、QStackLayout---简介:多个控件堆叠在一起,某个时刻只能看到一个控件。添加插入获取控件:(如果要插入的索引位置,小于等于当前正在展示的控件的索引位置,他会把当前正在展示控件的位置往后移即索引值加一,但展示控件并不变);如果插入越界的索引值,则会将它添加到最后一个位置,并返回一个正确的索引值。根据索引值也可以获得相应的控件。2、控件之间的切换:通过索引值切换,也可以通过指名某个控件进行切换。借助定时器轮流显示所有控件 timer = QTim..
2022-03-25 21:42:56 1025
原创 QGridLayout---功能简介
1、QGridLayout---功能简介:(每行每列都具有最小宽度和拉伸系数)添加控件:addwidget都是每一行每一行的加控件。列宽/行高和拉伸系数:间距控制:信息获取:某个单元格占据列或者行的大小,获取列和行的个数:获取占据单元格的大小(值无效时也无法输出内容,为一个控制):由于版本问题,需要在父控件显示完成之后才可以 print(gl.cellRect(0, 1))。from PyQt5.Qt import *class Window(QWidg...
2022-03-25 21:08:00 1112
原创 QFormLayout----(二)
1、移除行(删除子控件和不删除子控件): # 判断控件是否被销毁 age_le.destroyed.connect(lambda: print("年龄步长被释放")) age_label.destroyed.connect(lambda: print("年龄标签被释放")) # 移除某一行,删除控件 #fl.removeRow(2) # 移除某一行,不删除控件,他仍然在父控件身上,有的控件有布局,有的控
2022-03-25 20:20:16 730
原创 QFormLayout---表单布局
1、QFormLayout---表单布局:给用户的一张表格,采集用户的信息。(管理输入控件及其关联标签的形式)创建表单布局管理器:添加行:from PyQt5.Qt import *class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle("QFormLayout的学习") self.resize(500,..
2022-03-25 11:26:55 660
原创 QHBoxLayout----QVBoxLayout----继承于基类
1、QHBoxLayout-QVBoxLayout----继承于基类from PyQt5.Qt import *class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle("QH_Vlayout的学习") self.resize(500, 500) self.setup_ui() def setup_ui(self
2022-03-25 10:03:31 182
原创 QBoxLayout----
1、QBoxLayout修改方向:提供水平或者垂直方向的布局管理器。修改方向:每隔一秒调整布局的方向。from PyQt5.Qt import *class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle("QBoxLayou的学习") self.resize(500, 500) self.setup_ui()
2022-03-25 09:57:08 440
原创 布局管理器--基类QLayout()
1、QLayout:布局管理器的抽象基类,当已存在的布局管理器都无法满足要求时,需要实例化QLayout满足自定义要求。替换子控件的过程中,原来的控件将不再被布局管理器管理,需要将该控件移除。一个对象不会被释放是因为他被某一个控件引用,所以让要让他释放,只要不让他被引用就可。 # 设置内边距 lay_out.setSpacing(60) # 设置外边距 lay_out.setContentsMargins(30, 30,
2022-03-24 21:17:18 601
原创 布局管理器
1、布局管理器:布局:怎么确定每个子控件在父控件中的位置。布局的方式:布局管理器:包含了一些特定规则排列控件。手动布局:from PyQt5.Qt import *class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle("布局管理的学习") self.resize(500, 500) self.se.
2022-03-24 20:29:41 415
通过指定目录,读取该目录下所有子文件夹中的内容 输入根目录和指定类别的名字,即可读取所有文件
2023-09-18
通过关键字从百度中爬取相匹配图片,可以爬取多种类型也可以爬取一种类型图片
2023-09-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人