博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【PyQt】分析承载界面
阅读量:7282 次
发布时间:2019-06-30

本文共 5730 字,大约阅读时间需要 19 分钟。

承载界面:

# coding=utf-8import sysfrom PyQt4.QtCore import *from PyQt4.QtGui import *import class_datafileQTextCodec.setCodecForCStrings(QTextCodec.codecForName('utf8'))class Form(QMainWindow):    def __init__(self,parent=None):        super(Form,self).__init__(parent)        self.setWindowTitle('DataAnylaze')        self.setWindowIcon(QIcon('image/3.png'))        self.setBaseSize(500,500)        #self.resize(1000,1000)        self.setMinimumSize(600,600)        self.showMaximized()                        self.table=QTableWidget()        self.setCentralWidget(self.table)                self.createAction()        self.createMenu()        self.createToolBar()                                    def createAction(self):        self.openFileAct=QAction(QIcon('image/open.png'),u'打开',self)        self.connect(self.openFileAct,SIGNAL('triggered()'),self.openFile)                self.saveFileAct=QAction(QIcon('image/save.png'),u'保存',self)        self.connect(self.saveFileAct,SIGNAL('triggered()'),self.saveFile)                self.saveAnotherFileAct=QAction(QIcon('image/saveanother.png'),u'另存为',self)        self.connect(self.saveAnotherFileAct,SIGNAL('triggered()'),self.saveAnotherFile)                self.setRightAct=QAction(QIcon('image/r.png'),u'右对齐',self)        self.connect(self.setRightAct,SIGNAL('triggered()'),self.setTableRAlignment)                self.setLeftAct=QAction(QIcon('image/l.png'),u'左对齐',self)        self.connect(self.setLeftAct,SIGNAL('triggered()'),self.setTableLAlignment)                        self.setMiddleAct=QAction(QIcon('image/m.png'),u'居中对齐',self)        self.connect(self.setMiddleAct,SIGNAL('triggered()'),self.setTableMAlignment)                                    def createMenu(self):        fileMenu=self.menuBar().addMenu(u'文件')        fileMenu.addAction(self.openFileAct)        fileMenu.addAction(self.saveFileAct)        fileMenu.addAction(self.saveAnotherFileAct)        def createToolBar(self):        fileToolBar=self.addToolBar(u'文件')        fileToolBar.addAction(self.openFileAct)        fileToolBar.addAction(self.saveFileAct)        fileToolBar.addAction(self.saveAnotherFileAct)                aliToolBar=self.addToolBar(u'对齐')        aliToolBar.addAction(self.setLeftAct)        aliToolBar.addAction(self.setRightAct)        aliToolBar.addAction(self.setMiddleAct)                    def openFile(self):        file=QFileDialog.getOpenFileName()                dataFile=class_datafile.dataFileClass()        dataFile.setFileDir(file)        self.data,self.columnName=dataFile.getAllData()                        #设置表格行列数量        rowNum=dataFile.getRowLen()        colNum=dataFile.getColumnLen()        self.table.setColumnCount(colNum)        self.table.setRowCount(rowNum)                #设置表头        for i in range(len(self.columnName)):            self.table.setHorizontalHeaderItem(i,QTableWidgetItem(self.columnName[i]))                #设置表格内容        for j in range(len(self.columnName)):            for k in range(rowNum):                self.table.setItem(k,j,QTableWidgetItem(self.data[self.columnName[j]][k]))                mes=QMessageBox()        mes.information(self,u'测试读取数据',u'读了%d行数据' % (rowNum+1),QMessageBox.Ok)                    def saveFile(self):        pass            def saveAnotherFile(self):        pass            def setTableRAlignment(self):        for j in range(self.table.columnCount()):            for i in range(self.table.rowCount()):                self.table.item(i,j).setTextAlignment(Qt.AlignRight|Qt.AlignVCenter)                        def setTableMAlignment(self):        for j in range(self.table.columnCount()):            for i in range(self.table.rowCount()):                self.table.item(i,j).setTextAlignment(Qt.AlignHCenter|Qt.AlignVCenter)    def setTableLAlignment(self):        for j in range(self.table.columnCount()):            for i in range(self.table.rowCount()):                self.table.item(i,j).setTextAlignment(Qt.AlignLeft|Qt.AlignVCenter)                    app=QApplication(sys.argv)form=Form()form.show()app.exec_()

 

---------------------------------

数据解析:

1 # coding=utf-8 2 import sys 3 import copy 4 from PyQt4.QtCore import * 5 from PyQt4.QtGui import * 6  7 #QTextCodec.setCodecForTr(QTextCodec.codecForName('utf8')) 8  9 class dataFileClass():10     def __init__(self,parent=None):11         self.runflag=012         self.data={}13         self.columnName=[]14         15         16             17     def readData(self):18         if self.runflag==1:19             fileData=open(str(self.file),'r')20             flagcol=021             self.rownum=022             for line in fileData:23                 linelist=line.split(',')24                 if flagcol==0:25                     self.columnName=copy.copy(linelist)26                     for name in self.columnName:27                         self.data[name]=[]28                     flagcol+=129                 else:30                     for i in range(len(linelist)):31                         self.data[self.columnName[i]].append(linelist[i])32                     self.rownum+=133                     34             fileData.close()35             36     def setFileDir(self,dir):37         self.file=dir38         self.runflag=139         self.readData()40         41     def getColumnNames(self):42         return self.data.keys()43         44     def getColumnLen(self):45         return len(self.columnName)46         47     def getRowLen(self):48         return self.rownum49         50     def getValue(self,columnName,row):51         if self.data.has_key(columnName):52             return self.data[columnName][row]53             54     def getAllData(self):55         return self.data,self.columnName56         57         58

 

转载地址:http://oazjm.baihongyu.com/

你可能感兴趣的文章
事务的特性及事务的隔离级别(转)
查看>>
转:如何正确彻底删除webpack 全局或是局部?
查看>>
【Python】Symbol Review
查看>>
电脑 F键(功能键)的具体作用
查看>>
004-软件质量保证&QC/QA
查看>>
选择排序的实现以及性能测试
查看>>
基于snowfall的玫瑰花瓣飘落效果
查看>>
linux之cut用法
查看>>
结交比自己优秀的人
查看>>
Home键和back键下 Activity的生命周期变化
查看>>
用MotoMidMan给L7批量安装java程序
查看>>
C语言中main函数之前可以进行赋值作吗?
查看>>
WKWebView Cookie注入
查看>>
组合数据类型,英文词频统计
查看>>
【3】火狐中: radio被点击以后,重刷页面,不会选择默认的radio
查看>>
读书笔记:《HTML5开发手册》-- 现存元素的变化
查看>>
mongodb php
查看>>
C#限速下载网络文件
查看>>
在operator=中处理”自我赋值“
查看>>
纯CSS实现三列DIV等高布局
查看>>