时隔一周,看看我有什么鬼成果吧。
排版依旧不在线,放飞自我的博客。等全部结束了再好好整理走过的路程。
首先,界面不是我设计,我就是负责代码连接的。
感觉pyqt+Eric6+QTDesigner ,简直就把层次拉低了好几个档次。但是高级的咱真的不会,随便一个super继承啥的我就懵逼了,还是老老实实的用这个吧。
这篇博客记录一下“被废掉的”那些代码。因为我在写,设计人员表示她换了控件,于是我就只能改代码了555
虽然有点难过,但是没关系嘛,换了之后反而更简单了。
为了祭奠这些备胎代码们,所以特意写个博客。
设计者最初的想法是,获取月份是用下拉选框。
她写的值是,例如这样,“9月份”。
也就是说,调用 self.自定义的QComboBox.currentText() 后,得到的是字符列表‘X月份’
如果直接切片得到数字倒还好,但是月份,比如11月,得到的就是1,不是11了。
所以百度了一下怎么获得列表的数字,然后推荐给我正则表达式。
好么,这下得到的是:
‘9月份’变成了[‘9’]
‘11月份’变成了[‘1’,’1’]
吐血ing
然后就用了循环方法,把它变成个字符串;
具体,得到月份,我写了以下的方法:
def getMonth(self):
#q_Time的专用函数
if self.TimeIndex==1:
c=self.comboBox_MONTH_OF_DAY.currentText() #得到的是'X月份'
str=(re.findall(r"d",c)) #仍旧是字符串类型的列表
c=''
for n in str:
c=c+n
return c
if self.TimeIndex==2:
c=self.comboBox_MONTH.currentText() #得到的是'X月份'
str=(re.findall(r"d",c)) #仍旧是字符串类型的列表
c=''
for n in str:
c=c+n
return c
TimeIndex 就是我自己定义的tabWidget的索引,0是因为用日历写的,所以获取方法不一样,这个方法只用来从comboBox获取月份而已。
有了以上方法,我们就可以判断用户有没有选择错误啦!
比如说,这个用户没有仔细思考,不假思索就选择了9月份31号,我们就提示输入错误:
if self.spinBox_DAY.value()==31:
#如果是31号
c=getMonth()
#得到月份
if (c=='9' or c=='11'):
QMessageBox.information(self, '错误', '这个月没有三十一号!')
self.error=1
最后那个error的变量也是我自己为了区分查询成功设置的,不用管。
以上~
非常easy,但是对于从来没写过python方法、也没学过正则表达式的小白来说,已经满足了~
但这代码也太不pythonic了,自己表示自己很嫌弃。
到点了,机房赶人了,拜拜了
因为涉及的界面是黑色的, 所以弹窗也是黑的,所以字!看!不!出!来!
所以QAQ
代码又没用了!
我想好了,这个文章就专门贴用不到的代码。祭奠一下。
=========================================
用户点击错误时·开始
=========================================
'''
if self.num==0:
button=QMessageBox.information(self, '错误', "你还没有选择污染物类型!")
self.error=1
if self.spinBox_DAY.value()==31:
#如果是31号
if self.spinBox_MONTH_1.value()==9 or self.spinBox_MONTH_1.value()==11:
button=QMessageBox.information(self, '错误', "这个月没有三十一号!")
self.error=1
if self.error==0:
button=QMessageBox.information(self, '提示', "查询成功!")
'''
=========================================
用户点击错误时·结束
=========================================
'''
以上是弹窗~用来告知用户点错了;