数据库大作业学习(二)

时隔一周,看看我有什么鬼成果吧。

排版依旧不在线,放飞自我的博客。等全部结束了再好好整理走过的路程。

 

首先,界面不是我设计,我就是负责代码连接的。

感觉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, '提示', "查询成功!")
        '''
        =========================================
                            用户点击错误时·结束
        
        =========================================
        '''  

 

以上是弹窗~用来告知用户点错了;

 

posted @ 2019-05-23 20:46  墨色温润  阅读(207)  评论(0编辑  收藏  举报