⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 b2.pyw

📁 利用python语言写的课程设计: 包括学生成绩统计
💻 PYW
📖 第 1 页 / 共 2 页
字号:
    def sortChanged(self):                                   #排序时候的大小写敏感的设定,check了为真了就是toggled了就设大小写铭感的        if self.sortCaseSensitivityCheckBox.isChecked():            caseSensitivity = QtCore.Qt.CaseSensitive        else:            caseSensitivity = QtCore.Qt.CaseInsensitive        self.proxyModel.setSortCaseSensitivity(caseSensitivity) #在这里设sort的casesensitivity的时候 传参是一个指向方法的,参数的方法也有用了    def allFee(self):        model1=QtGui.QStandardItemModel(0, 3,self)        model1.setHeaderData(0, QtCore.Qt.Horizontal, QtCore.QVariant(u"姓名"))        model1.setHeaderData(2, QtCore.Qt.Horizontal, QtCore.QVariant(u"主叫电话号码"))        model1.setHeaderData(1, QtCore.Qt.Horizontal, QtCore.QVariant(u"通话费用"))                model1.insertRow(0)        model1.setData(model1.index(0,0),QtCore.QVariant(u"张明"))        model1.setData(model1.index(0,2),QtCore.QVariant(3491234))        model1.setData(model1.index(0,1),QtCore.QVariant(feeZM))        model1.insertRow(0)        model1.setData(model1.index(0,0),QtCore.QVariant(u"李小红"))        model1.setData(model1.index(0,2),QtCore.QVariant(4927038))        model1.setData(model1.index(0,1),QtCore.QVariant(feeLXH))        model1.insertRow(0)        model1.setData(model1.index(0,0),QtCore.QVariant(u"王励"))        model1.setData(model1.index(0,2),QtCore.QVariant(7216340))        model1.setData(model1.index(0,1),QtCore.QVariant(feeWL))        model1.insertRow(0)        model1.setData(model1.index(0,0),QtCore.QVariant(u"赵强"))        model1.setData(model1.index(0,2),QtCore.QVariant(3492200))        model1.setData(model1.index(0,1),QtCore.QVariant(feeZQ))        model1.insertRow(0)        model1.setData(model1.index(0,0),QtCore.QVariant(u"杨冬"))        model1.setData(model1.index(0,2),QtCore.QVariant(8120321))        model1.setData(model1.index(0,1),QtCore.QVariant(feeYD))        self.sourceView.setModel(model1)        self.proxyModel.setSourceModel(model1)    def resetModel(self):        self.proxyModel.setSourceModel(model)                                 #调用,QSortFilterProxyModel里面的setSourceModel的方法(并使用函数传入的model)        self.sourceView.setModel(model)                        feeZM=0feeLXH=0feeWL=0feeZQ=0feeYD=0         def addCall(model,mainCode,mainNumber,calledCode,calledNumber,callTime):                      #定义有4个参数的方法,    model.insertRow(0)                                                             #插入row为0的行就是从最上面的一行开始插入                                                                                      #为行为0的index开始插入,相应的数据,#QVariant对string什么的,都直接显现值的,如果有color就要value的,文档规定的)    model.setData(model.index(0, 1), QtCore.QVariant(mainCode))       model.setData(model.index(0, 2), QtCore.QVariant(mainNumber))    model.setData(model.index(0, 3), QtCore.QVariant(calledCode))    model.setData(model.index(0, 4), QtCore.QVariant(calledNumber))    model.setData(model.index(0, 5), QtCore.QVariant(callTime))    if calledCode != "025":        callType=u"长途"    if calledCode == "025":        callType=u"本地"           model.setData(model.index(0, 6), QtCore.QVariant(callType))    if callType == u"本地":        time = callTime /60 +1        if (time <3):            fee = time * 0.5        if (time >3):            fee = time * (0.5+time/3*0.2)        model.setData(model.index(0, 7), QtCore.QVariant(fee))    if callType == u"长途":        if calledCode=="010":            fee =(callTime/60+1)*1.2            model.setData(model.index(0, 7), QtCore.QVariant(fee))        if calledCode=="021":            fee =(callTime/60+1)*0.8            model.setData(model.index(0, 7), QtCore.QVariant(fee))        if calledCode=="0571":            fee=(callTime/60+1)*1.0            model.setData(model.index(0, 7), QtCore.QVariant(fee))        global feeZM    global feeLXH    global feeWL    global feeZQ    global feeYD           if mainNumber == 3491234:        name = u"张明"        feeZM+=fee      if mainNumber == 4927038:        name = u"李小红"        feeLXH+=fee        if mainNumber == 7216340:        name =u"王励"        feeWL+=fee           if mainNumber == 3492200:        name=u"赵强"        feeZQ+=fee            if mainNumber == 8120321:        name=u"杨冬"        feeYD+=fee         model.setData(model.index(0, 0), QtCore.QVariant(name))                    #QVariant:QVariant::QVariant ( const QString & val )    #Constructs a new variant with a string value, val. ,用这个变型来传,就而不是直接传,这个也是有意思的def createCallModel(parent):                                     #注意这个函数传入的是一个父类,因为它们不是Window类中的,所以要继承那个父类    global model    model = QtGui.QStandardItemModel(0, 8, parent)    #今天遇到的第三个model,标准项目model,第一个是rows,第二个是columns,和父类    #这又是创建了一个名字空间        model.setHeaderData(0, QtCore.Qt.Horizontal, QtCore.QVariant(u"姓名"))   #就是在设horizonal的标题数据,这样用来显示的    model.setHeaderData(1, QtCore.Qt.Horizontal, QtCore.QVariant(u"主叫区号"))    model.setHeaderData(2, QtCore.Qt.Horizontal, QtCore.QVariant(u"主叫电话号码"))    model.setHeaderData(3, QtCore.Qt.Horizontal, QtCore.QVariant(u"被叫区号"))    model.setHeaderData(4, QtCore.Qt.Horizontal, QtCore.QVariant(u"被叫电话号码"))    model.setHeaderData(5, QtCore.Qt.Horizontal, QtCore.QVariant(u"通话时长"))    model.setHeaderData(6, QtCore.Qt.Horizontal, QtCore.QVariant(u"通话类型"))    model.setHeaderData(7, QtCore.Qt.Horizontal, QtCore.QVariant(u"通话费用"))    addCall(model,"025",3491234,"025",  5319971,   70)       		      addCall(model,"025",  4927038,  "010",  62110045,  236)					      addCall(model,"025",  7216340,  "025",  4521009,   310)       			    addCall(model,"025",  3491234,  "0571", 2199516,   100)					    addCall(model,"025",  8120321,  "021",  81094532,  50)        					    addCall(model,"025",  3491234,  "025",  5319971,   80)     addCall(model,"025",  4927038,  "025",  3491234,   115)       		      addCall(model,"025",  8120321,  "025",  7216340,   47)				    addCall(model,"025",  7216340,  "010",  62110045,  93)       		    addCall(model,"025",  3491234,  "010",  62110045,  792)				    addCall(model,"025",  4927038,  "0571",  2199516,  931)       			     addCall(model,"025",  3491234,  "025",  5319971,   580)					    addCall(model,"025",  4927038,  "025",  3491234,   358)           addCall(model,"025",  8120321,  "021",  81094532,  197)    addCall(model,"025",  7216340,  "025",  4521009,   256)           addCall(model,"025",  7216340,  "010",  62110045,  193)    addCall(model,"025",  3492200,  "025",  4521009,   320)           addCall(model,"025",  3491234,  "025",  5319971,   270)        #是调用的addCall的方法,第一是传入这里建的model,同时有三个变量,本来是0行3列,addMail里面是有插入的,所以是可以运行的    #data虽然有用,隔开,但是最后的都是输入data的范围的            return model    #这里ruturn的意义是什么呢,不return的话就什么都不出现了,这样是没有意义的。4app = QtGui.QApplication(sys.argv)window = Window()window.setSourceModel(createCallModel(window))#这里设置了sourceModel就是我们创建的以window()为父类的model,调用的createMailModel的方法,setSourceModel就是他的一个函数#所以是直接可以被调用的window.show()sys.exit(app.exec_())

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -