- 博客(142)
- 收藏
- 关注
原创 08pyqt-QAbstractButton
QAbstractButtonQAbstractButton是按钮的基本抽象类QPushButtonQPushButton默认选择.pyimport sysfrom PyQt5.Qt import *class Btn(QPushButton): def __init__(self, *args, **kwargs): super(Btn, self).__init__(*args, **kwargs)if __name__ == '__main__':
2022-03-28 19:26:48
387
原创 07pyqt-QWidget
QWidgetQWidget是pyqt中所有可视化控件的基类QWidget创建.pyimport sysfrom PyQt5.Qt import *# Qwidget是所有可视控件的基类app = QApplication(sys.argv)win = QWidget()win.show()sys.exit(app.exec_())Qwidget位置api.pyimport sysfrom PyQt5.Qt import *# Qwidget是所有可视控件的基类a
2022-03-28 17:44:23
1204
原创 06pyqt-定时器
定时器import sysfrom PyQt5.Qt import *# startTimer开启定时器,有两个参数,# 第一个指定延迟时间,单位ms;# 第二个指定定时器类型TimerType,PreciseTimer精确到毫秒,CoarseTimer5%误差间隔,VeryCoarseTimer秒级。# 约精确的定时器约耗费性能# killTimer,终止定时器# timerEvent,一般通过重写设定定时器事件class MyQObject(QObject): def t
2022-03-23 19:45:30
1342
原创 05pyqt-事件机制
import sysfrom PyQt5.Qt import *# 事件机制总体流程: notify分发 ---> event分发 ---> 具体事件如mousePressEvent ---> 使用的信号、槽class App(QApplication): # 所有事件都会通过notify进行分发,其中reciver为事件接收者,evt为事件对象 def notify(self, reciver, evt): # 当事件接受者为QPushButton
2022-03-23 17:36:34
163
原创 04pyqt5-对象删除
对象删除from PyQt5.Qt import *class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle('Window') self.resize(500, 500) self.set_ui() def set_ui(self): self.QObject_delete() def
2022-03-23 15:44:04
720
原创 03pyqt5-类型判断
类型判断from PyQt5.Qt import *class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle('Window') self.resize(500, 500) self.set_ui() def set_ui(self): self.QObject_type() def QO
2022-03-23 15:42:11
1442
原创 02-pyqt5信号机制
信号机制信号机制简单来说就是 控件状态改变 ===> 其他控件处理相关事件,主要由用户触发,但也可能有其他触发方式:例如网络连接、window manager或定时器from PyQt5.Qt import *class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle('Window') self.resize(500, 5
2022-03-23 15:41:01
237
原创 01-pyqt5基本使用
基本使用from PyQt5.Qt import *import sys# 新建应用app = QApplication(sys.argv)# 创建控件window = QWidget()# 设置控件window.setWindowTitle('111')window.resize(500, 500)window.move(400, 200)label = QLabel(window)label.setText('ashdjka')label.move(200, 200)
2022-03-23 10:36:15
1028
转载 linux和windows下获取文件列表
windows下使用如下的DOS命令来实现: dir /s /b > lists.txt可以将当前路径下的所有文件的“文件路径+文件名”存储在lists.txt中。其中,/s表示的是“列出完整路径”选项,如果命令行是如下形式: dir /b > lists.txt那么,lists.txt文件中只会记录当前目录中所有文件的文件名信息。Ubuntu下 find <target_path> -name "<file_name>.<file_type&g
2021-12-15 15:46:42
440
转载 csv库使用
import csv# 读取csv,以数组方式读取def csv_read(path): with open(path, 'r', encoding='utf-8') as f: cf = csv.reader(f) # 创建csv.reader对象 print(cf.dialect) # 返回其dialect for line in cf: print(line) # 读取的内容,列表格式
2021-11-25 19:46:29
1057
原创 flask读取get内的数组参数
data_source = request.args.getlist('data_source')print(data_source)['中山医院', '北京电力医院']
2021-11-19 19:43:20
1325
原创 flask文件发送与js前端接收
flask后台文件发送 try: # 文件数据处理 res = export_all_files_list() # 通过response封装数据 response = make_response(res) # 设置响应信息 response.headers['content-type'] = 'application/octet-stream;charset=utf-8' response.he
2021-11-19 16:39:37
2712
原创 echart中的label浮窗被容器截断
// option中做如下配置tooltip: { trigger: 'item', confine: true //允许显示在外面,对外层dom 是 overflow:hidden 有效 },
2021-11-16 20:38:47
461
1
原创 js常用utils集合
// 获取指定位数的随机串export function randomString(e) { e = e || 32 const t = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" let res = '' for (let i = 0; i < e; i++) { res += t[Math.floor(Math.random() * t.length)] } return res}...
2021-11-11 15:23:06
821
原创 axios封装request配置
import axios from 'axios'import Qs from 'qs'//axios的get方法中使用params时对于js数组类型的参数的默认操作比较诡异,会使得参数名后带上'[]'字符串,可以使用qs自带的 arrayFormat 参数配置解决这个问题export function request(config) { const service = axios.create({ headers: {'content-type': 'application/json
2021-11-11 12:48:25
955
原创 less 和less-loader安装问题
vue-cli和less-loader的某些版本存在冲突,建议遇见时指定less-loader进行强制安装 npm install less --save -dev npm install less-loader --save -dev 或者 npm install less-loader@版本号 --save -dev -force
2021-11-10 14:43:57
1090
转载 flask中request使用
如果是json格式的请求数据,则是采用request.data来获取请求体的字符串。如果是form表单的请求体,那么则可以使用request.form来获取参数。如果是url参数,例如:url?param1=xx¶m2=xx,那么则可以使用request.args来获取参数。如果需要区分GET\POST请求方法,则可以使用request.method来进行判断区分。如果需要接收上传的文件,则可以使用request.files来获取上传的文件信息。添加链接描述...
2021-11-05 18:45:25
363
原创 vue跨域配置代理
module.exports = { devServer: { open: true, host: 'localhost', port: 8080, https: false, //以上的ip和端口是我们本机的;下面为需要跨域的 proxy: {//配置跨域 '/api': { target: 'http://127.0.0.1:5000/',//这里后台的地址模拟的;应该填写你们真实的后台接口 ws: true
2021-11-03 17:26:45
574
原创 MySQL按日期查询补0不建立表方法
在做数据统计的时候,经常会遇到以每天,每月为周期的统计。有时候,某一天没有数据时按照group查询会导致数据为0的天数没被记录。下面提供一个方法思路,在使用mysql查询时,不需要额外建表即可以做到给结果集补01.不建表查询日期SELECT DATE_FORMAT( date_add(concat('2020-08-20'), interval(help_topic_id) DAY),'%Y-%m-%d') dateFROM mysql.help_topicWHERE help_topi
2021-10-09 18:59:58
1404
原创 watchdog使用以及遇到的问题
封装后的代码from watchdog.observers import Observerfrom watchdog.events import *import timeclass FileEventHandler(FileSystemEventHandler): def __init__(self): FileSystemEventHandler.__init__(self) def on_any_event(self, event): pri
2021-09-14 16:12:56
1203
原创 js深拷贝
// 该函数只处理了【原始类型、数组、对象、函数、循环引用】这几类问题,对于【正则、Map、Set、日期】类型可参考: https://blog.youkuaiyun.com/cc18868876837/article/details/114918262function deepClone(obj, map = new WeakMap()) { // 此处map用于处理循环引用问题,使用weakMap可以用于防止内存泄露问题 // 处理对象和数组 if (typeof obj === 'obj
2021-09-09 22:04:32
137
原创 js函数防抖和节流
函数防抖// 防抖函数低配版 function denounceOld(fn, delay) { // 定时器 let timer = null // 将debounce处理结果当作函数返回 return function () { // 保留调用时的this上下文 let context = this // 保留调用时传入的参数 let args = arguments // 每次事件被触发时,都去清除之前的
2021-09-09 19:35:07
94
原创 element-ui中row-class-name和row-style使用的坑
官方的row-class-name使用示例如下,这个地方有个大坑,在style样式设置为scope也就是局部作用的时候会失效,必须将其去除,然而这样在组件中修改样式就会导致全局样式的变化,显然很不合理。tableRowClassName({row, rowIndex}) { if (rowIndex === 1) { return 'warning-row'; } else if (rowIndex === 3) { return '
2021-07-29 16:22:58
2490
1
原创 js-工厂模式
简单工厂模式function createPerson(name) { var o = {} o.name = name o.getName = function() { console.log(this.name) } return o } var person1 = createPerson('zhang san') person1.getName() //zhang san console.log(person1
2021-07-26 22:52:39
128
原创 js中的new和面向对象
new的过程中发生了什么 function CreateCat(name) { this.name = name } var catA = new CreateCat('xiaoA') console.log(catA.name) /** * new的操作: * 1.创建了一个空对象 * 2.将构造函数的prototype属性赋值给新对象的__proto__属性 * 3.将构造函数的this指向新对象 * 4.执行构造函数的代码 * 5.将新对
2021-07-26 16:16:20
166
转载 13-vue-router路由导航
进阶使用路由导航官网解释主要有以下几大类: 全局: router.beforeEach router.beforeResolve router.afterEach 路由独享 beforeEnter 组件内使用 beforeRouteEnter beforeRouteUpdate beforeRouteLeave示例:router.beforeEach会在每个路由跳转之前执行,例如此处会在每个路由跳转之前在控制台打印‘beforeEach’,其中from是上个
2021-07-25 15:10:27
204
原创 12-vue-router基础
什么是路由前端渲染和后端渲染前端路由hash和historylocation.hash()history.pushState()history.back()history.forward()history.replaceState()history.go()安装路由路由的使用基本使用重定向hash转history(消除#)router常用指令router相关指令通过代码跳转...
2021-07-20 14:08:31
121
原创 路由的相关解释
什么是路由在网络通信中,“路由”是一个网络层的术语。它是指从某一网络设备出发去往某个目的地的路径如图:有一段消息要从A到B,找到A到B的路径这个过程就是路由活动前端渲染和后端渲染后端渲染早期的网站开发整个HTML页面是由服务器来渲染的 服务器直接生产渲染好对应的HTML页面,返回客户端进行展示但是,一个网站,那么多页面服务器如何处理? - 一个页面有自己对应的网址,也就是URL。 - URL会发送到服务器,服务器会通过正则对该URL进行匹配,并且最后交给一个C
2021-07-18 18:08:41
454
原创 通过promise封装ajax
简易的ajax封装function ajax(url, method, callback) { let xhr = new XMLHttpRequest() // 生成一个新的XMLHttpRequest对象,具体参考https://developer.mozilla.org/zh-CN/docs/Web/API/XMLHttpRequest xhr.open(method, url)
2021-06-10 16:51:12
212
原创 flex布局
flex布局中概念通过display:flex或者display:inline-flex即可开启flex布局在开启flex布局之后容器被称为flex-container,容器默认有两根轴线:main axis也就是水平的主轴,cross axis 也就是垂直的交叉轴。主轴开始的位置被称为main start,结束的位置被称为main end,交叉轴同理。这个参考坐标轴即可。容器的所有子元素自动成为容器成员,称为flex item。项目默认沿着主轴排列。单个项目占据的主轴空间称为main size,
2021-06-08 00:48:26
171
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人