zoukankan      html  css  js  c++  java
  • 数据库大作业学习(二)

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

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

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

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

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

  • 相关阅读:
    Qt 读写XML文件
    用 Qt 中的 QDomDocument类 处理 XML 文件(上)
    Qss
    QTableWidget的使用和美工总结
    用 Qt 中的 QDomDocument类 处理 XML 文件(下)
    ArcEngine中最短路径的实现
    AE中网络分析的实现 的各个类之间的关系
    AE控制图层中要素可见状态的几种方法
    如何使用Name对象,包括WorkspaceNames和DatasetNames
    AE属性表操作
  • 原文地址:https://www.cnblogs.com/flowerIron/p/10914411.html
Copyright © 2011-2022 走看看