代码解读学习记录
1.assert:命令,在python中起到“断言”的作用
也就是说在可能报错的地方加assert,让这个地方有错误时就立即停止运行,直接报错。而不是运行完再报错。
2.logging模块,给代码加日志文件。
logging中的level有debug,info,warning,error,critical,其危险性级别依次升高,debug是最详细的,但是系统默认是只显示warning及以上级别。critical是最严重的错误,导致脚本不能运行。
如果要debug和info的错误信息也默认显示,需要在其中设置logging.basicConfig(level=logging.DEBUG).
3.--disable-web-security是Chrome设置中解决跨域问题
4.json模块,主要常用的方法有loads,load,dumps,dump
json.dumps(obj):在内存中将obj转化成str类型。
json.loads(obj):在内存中将obj转化成原“类型”:‘{"key","name"}’本来是一个字符串,但是转换之后就会是字典类型。
json.dump(obj,open(“file”,“w”)),将obj以str类型的方式存入file中。
d1=json.load(open("file","r"))将file中的内容以原来的形式读入。
5.QRegExpValidator:QT中的输入框中限制其输入类型
regexp = QRegExpValidator(QRegExp("^[a-zA-Z0-9-]+$"), self)
self.lineEdit_RunName.setValidator(regexp);
解释:lineEdit_RunName这个输入框中只能输入大小写字母和数字,其他的均不能输入,其中+代表前面的字符或者表达式重复多遍,$代表匹配结束。
参考博客:https://www.cnblogs.com/chuxiuhong/p/5885073.html
6.setEnabled()和setClickable()
setEnabled()决定着这个按钮能不能被激活,激活之后才能有其他响应事件。总开关
如果setEnabled()为ture,则按钮可以被点击。setClickable() 为ture时可以给按钮添加响应的事件。如果setClickable()为False,则按钮可以被点,但不会有事件。
如果setClickable()为Ture,setEnabled()为false时,按钮还是不能被点击。
7.QT中的connect()
信号传递,把自己想要的信号和槽机制进行连接:
self.pushButton_2.clicked.connect(self.btn2Text)
def btn2Text(self):
name=self.lineEdit.text()
if name:
try:
self.label.setText("is %s"%name)
self.lineEdit.clear()
except:
self.label("please input:")
8.QtCore.pyqtSignal
可以用来声明一个信号。或者说是创建一个信号。也可以理解为一种类型,由它创建的变量是信号类型。
一个槽可以连接多个信号,并且可以通过sender()方法来得到,这个槽接收到的信号来源。
9.status_code
status_code是http协议中已经规定的状态码。
10.start()函数和run()函数
两个函数都是开启线程的函数,都是来自threading模块
run() 方法并不启动一个新线程,就是在主线程中调用了一个普通函数而已。
start() 方法是启动一个子线程,线程名就是自己定义的name。
因此,如果你想启动多线程,就必须使用start()方法。
(此内容来自https://blog.csdn.net/AGUICHINESE/article/details/83269747)
11.request
request.get()会把参数等加到url中进行访问
request.post()会把参数放到header 的html中进行访问。
所以get的话,会显示在我们的网址中,不太安全,如果参数是比较敏感的内容,我们最好使用post。并且,get中对大小有限制,而post对数据大小没有限制。get是从服务器上获取数据,post是向服务器传送数据。
引用https://www.cnblogs.com/mango-lee/p/7116425.html
12.QSignalMapper
信号转发器
可参考博客:https://www.cnblogs.com/findumars/p/8035496.html