自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 QCompleter 自定义补全规则

QCompleter可以结合QLineEdit和QComboBox进行输入补全的工作。QCompleter可以通过setFilterMode传入Qt.MatchStartsWith/Qt.MatchContains/Qt.MatchEndsWith三种参数,分别对应字符串头部匹配、包含匹配、尾部匹配三种不同的功能,但是无法通过传入自定义的正则表达式进行匹配补全。为了解决这个问题,需要对QCompleter重载,通过修改其中的updateModel方法,利用filterProxyModel.setFilter

2021-01-05 15:17:15 1605 1

原创 VNPY核心数据结构EventEngine理解

VNPY中最重要的数据处理类就是EventEngine,负责各模块间的数据通信和针对不同数据进行函数调用处理。EventEngine由两个主要的结构构成,一个是Queue进行数据的传输和存放,一个是利用字典来进行数据类型和函数的对应及执行,可以将其视为一个具有数据存储和数据处理的容器。首先从Event类来看:class Event: def __init__(self, type: str, data: Any = None): """""" self.t

2020-12-25 12:21:05 758

原创 PyQT5 QMdiArea和子窗口QMdiSubWindow利用信号通信

对于利用QMdiArea构建的主窗口进程,如果主进程中的数据改变,则在对应的子窗口QMdiSubWindow中显示对应的数据。这里通过主进程对Queue监测,如果Queue非空,则从队列中put该值,并将该值以信号量的方式发送给对应的线程,并在线程中找到子窗口对应的对象,对对象中相应的控件进行修改。main.pyfrom ui_demo import MainWindowfrom PyQt5.QtWidgets import QApplicationfrom multiprocessing i

2020-11-24 16:02:17 1845

原创 PyQt使用ICE框架实现通信

网上关于使用PyQt和ICE实现信息通信的资料较少,通常都是在C++中构建子类继承qt库的UI类和ICE的client类,在启动时在子类中的run方法显示可视化界面。这种方法数据间传递比较复杂,同时PyQt的框架语法和C++版本的QT存在一定区别,所以为了实现这个功能,可以采用生成两个子进程,其中一个进程跑QT界面,一个进程跑ICE的Client客户端,两个进程间通过Queue来进行通信。大体框架如下:main函数:from client import Clientfrom multipro

2020-11-20 15:13:43 289

原创 (安卓开发)真机调试无Log日志输出解决办法

    在用真机调试时,会出现Android Studio中Logcat无法获取Log日志的问题。这是由于手机的Log设置没有打开,打开方法如下(荣耀手机):1、手机拨号输入*#*#2846579#*#*.2、工程菜单>后台设置>Log设置>打开AP日志。3、然后就可以在Logcat中看到Debug日志了。    手机在设置后重启App即可,无需重启手机,荣耀V9...

2018-10-09 12:33:20 4889 1

原创 windows下Apache安装及Python cgi配置

1、Apache安装:Windows版Apache可以在Apache Lounge等下载(下载地址),下载解压后进入管理员模式cmd,移动至Apache所在目录中bin文件夹,执行如下命令即可将Apache安装至系统服务:httpd.exe -k install然后打开windows下services.msc,找到Apache服务,改为手动启动。2、控制文件修改:打开./co...

2018-08-18 16:38:26 673

原创 使用BeautifulSoup4抓取近15年双色球结果

最近简单学习了一下爬虫,将使用简单的BeautifulSoup4库来抓取500彩票网站(http://kaijiang.500.com)中每一期的双色球结果。首先打开一个双色球结果网页(http://kaijiang.500.com/shtml/ssq/18095.shtml),观察到源代码中通过列表将红蓝球的号码显示出来,如下所示:<ul> <li class...

2018-08-17 16:37:38 961 1

原创 python基础教程(第3版) 项目5 虚拟茶话会

对于python基础教程中项目5虚拟茶话会,使用python3.X版本编译时,会出现如下问题:<class 'TypeError'>:Type str doesn't support the buffer API 原因在于python3.X版本从socket套接字中接收到的数据默认为bytes类型,如果需要使用str类型,则需要对数据进行decode解码。修改后整体代码如下:...

2018-08-16 15:41:22 793 1

原创 python3: UnicodeEncodeError: 'gbk' codec can't encode character '\xc2'

在windows环境下,把网络流写入本地文件时,经常会出现UnicodeEncodeError: 'gbk' codec can't encode character 问题,而在linux环境下,则不会出现这个问题。从错误信息中可以看出,gbk方式无法对当前位置编码,先来看一下python默认的编码方式是什么呢?import sysprint(sys.getdefaultencodin...

2018-08-14 17:17:55 646

原创 python3:error10057由于套接字没有连接并且(当使用一个 sendto 调用发送数据报套接字时)没有提供地址,发送或接收数据的请求没有被接受

今天在看《Python基础教程(第3版)》的网络编程章节时,有一个通过select实现简单服务器的例程,例程如下:import socket,selects=socket.socket()host=socket.gethostname()port=1234s.bind((host,port))s.listen(5)inputs=[s]while True: rs,w...

2018-08-03 19:32:07 27209 4

原创 递归问题研究——八皇后

八皇后问题是一个基本的递归问题:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。对于递归问题的解决,应该考虑递归的基本(终止递归)条件和递归条件。可以想到本问题的基本条件应该是在前n-1行排序完毕后,对第n行排序检测是否存在冲突。递归条件为将新的排好序的状态传递给上一层递归。在考虑递归前,应先编写冲突检测函数,以方便...

2018-07-31 16:02:04 192

原创 python3: error while loading shared libraries: libpython3.7m.so.1.0: cannot open shared object file:

出现该问题是由于在centos下安装python3并没有将编译后python/lib下文件放入默认库/usr/lib或/lib中,导致初始化时没有加载库文件。解决办法:将lib添加至库配置信息中#cd /etc/ld.so.conf.d#vim python3.conf将编译后的python/lib地址加入conf文件#ldconfig...

2018-07-14 17:42:24 19467

原创 MySQL 5.76版本后视图LOCAL,CASCADED条件变化

在5.76版本前,create view选项中WITH LOCAL/CASCADED CHECK OPTION对于是否允许更新视图做了如下规则:1)LOCAL只要满足本视图的条件即可更新。2)CASCADED需要满足本视图的条件和本视图相关视图的条件才可更新。3)没有CHECK OPTION则不对条件进行检查在5.76版本后,更新了WITH LOCAL/CASCADED CHECK OPTION的...

2018-07-14 14:34:02 957

原创 tar命令无法更新已存在的压缩包

前两天同学用linux做实验后想把实验数据每隔20个步长打包后发给老师,但是不会写shell,所以只能一个一个拉出来复制打包,很是浪费时间。今天我想着写一个shell来解决这个问题。#!/bin/bashfor((num=20;num<1000;num=num+20))do tar -jrvf send.tar.bz2 $(num).jpgdone但是在运行shell的时候提示...

2018-07-03 15:53:07 6507 1

原创 Linux中${}、$()、$(())的功能

${}:对变量的替换,同$var。$():对命令的替换,同``(反引号)。

2018-06-07 14:05:31 8236

原创 通过位运算实现数值交换

对于数值的交换操作,通常会采用第三个变量作为中间变量过渡的交换方式。temp=a;a=b;b=temp;使用这种方法,可以保证交换的准确性,但是由于会使用第三个变量,占用了额外的内存空间。那么有没有办法不借助第三个变量实现两个数值的交换呢?可以通过数值相加寄存和位运算两种方式。1、相加寄存:可以将sum=a+b的值暂时寄存到a变量上,由于a=sum-b,所以可以将a值放置到b上,又由于b=su...

2018-06-04 19:47:08 7997 14

原创 Linux命令安装

最近在看鸟哥的Linux私房菜,用虚拟机安装的centos 7.5的最小安装。发现里面提到的ifconfig和locate命令都无法执行,这可能会是两种情况导致的:1、命令没有加入PATH环境中;2、命令没有安装;因为这些命令默认会安装在/sbin目录中,用whereis命令在/sbin目录下没有找到这两个命令,意味着系统没有安装这个命令。解决办法:通过yum安装ifconfig和locate这两...

2018-05-25 14:52:43 6144 1

原创 编程之法学习笔记——1.3字符串的全排列

题目描述:输入一个字符串,打印出该字符串中字符的所有排列。例如,输入字符串"abc",则输出由字符'a'、'b'、'c'所能排列出来的所有字符串"abc"、“acb”、"bac"、"bca"、"cab"、"cba"。递归法:字符串"a"情况下(N=1),所需要操作为直接输出。字符串"ab"情况下(N=2),可以将'a'作为首位,对"b&qu

2018-05-02 20:32:27 163

原创 递归问题研究——汉诺塔(三)

相邻移动汉诺塔(hdoj-2064):现在我们改变游戏的玩法,不允许直接从最左(右)边移到最右(左)边(每次移动一定是移到中间杆或从中间移出),也不允许大盘放到下盘的上面。现在有N个圆盘,至少多少次移动才能把这些圆盘从最左边移到最右边?这个题目和之前的汉诺塔问题相比最大的区别就是无法直接实现将圆盘直接从A柱移动至C柱,而是需要从A柱移动至B柱,再从B柱移动至C柱。那么我们需要重新考虑移动方式,我们...

2018-04-28 20:56:02 381

原创 递归问题研究——汉诺塔(二)

4柱汉诺塔问题(hdoj-1207):有四根杆(编号A、B、C、D),在A杆自下而上、由大到小按顺序放置N个金盘。游戏的目标:把A杆上的金盘全部移到D杆上,并仍保持原有顺序叠好。操作规则:每次只能移动一个盘子,并且在移动过程中四根杆上都始终保持大盘在下,小盘在上,操作过程中盘子可以置于A、B、C、D任一杆上。在初看这道题目的时候,我们发现4柱汉诺塔问题和3柱汉诺塔问题基本相似。那么我们是否可以通过...

2018-04-27 21:57:14 359

原创 递归问题研究——汉诺塔(一)

首先,先来看一下最简单的汉诺塔问题:有三根杆(编号A、B、C),在A杆自下而上、由大到小按顺序放置N个金盘。游戏的目标:把A杆上的金盘全部移到C杆上,并仍保持原有顺序叠好。操作规则:每次只能移动一个盘子,并且在移动过程中三根杆上都始终保持大盘在下,小盘在上,操作过程中盘子可以置于A、B、C任一杆上。当N=1时,移动步骤为A→C,记为。当N=2时,移动步骤为A→B,A→C,B→C,记为,即2片金盘通...

2018-04-25 10:37:21 252

原创 编程之法学习笔记——1.2字符串的包含

题目描述:给定一长字符串a和一短字符串b。请问,如何最快地判断出短字符串b中的所有字符是否都在长字符串a中?请编写函数bool StringContain(string &a,string &b)实现此功能。为简单起见,假设输入的字符串只包含大写英文字母。暴力轮询法:设A、B字符串长度分别为m、n,使用两个指针i、j标识A、B字符串中位置。对A中全部字符,搜索B中j位置的字符是否出...

2018-04-22 13:27:17 260

原创 编程之法学习笔记——1.1字符串的旋转

题目描述:给定一个字符串,要求将字符串前面的若干个字符移到字符串的尾部。例如,将字符串"abcdef"的前3个字符'a','b'和'c'移到字符串的尾部,那么原字符串将变成"defabc"。新建空间法:新建一个新的字符串,长度与原字符串长度相同为n,设移动字符数为x。将原字符串的0~(x-1)位的字符移动到新字符串的(n-x+1)~n位。原字符串中的x~n位的字符移动到新字符串的0~(n-x)位。...

2018-04-20 18:44:42 393

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除