承载界面:

# coding=utf-8
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
import class_datafile QTextCodec.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_()

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

数据解析:

 # coding=utf-8
import sys
import copy
from PyQt4.QtCore import *
from PyQt4.QtGui import * #QTextCodec.setCodecForTr(QTextCodec.codecForName('utf8')) class dataFileClass():
def __init__(self,parent=None):
self.runflag=0
self.data={}
self.columnName=[] def readData(self):
if self.runflag==1:
fileData=open(str(self.file),'r')
flagcol=0
self.rownum=0
for line in fileData:
linelist=line.split(',')
if flagcol==0:
self.columnName=copy.copy(linelist)
for name in self.columnName:
self.data[name]=[]
flagcol+=1
else:
for i in range(len(linelist)):
self.data[self.columnName[i]].append(linelist[i])
self.rownum+=1 fileData.close() def setFileDir(self,dir):
self.file=dir
self.runflag=1
self.readData() def getColumnNames(self):
return self.data.keys() def getColumnLen(self):
return len(self.columnName) def getRowLen(self):
return self.rownum def getValue(self,columnName,row):
if self.data.has_key(columnName):
return self.data[columnName][row] def getAllData(self):
return self.data,self.columnName

【PyQt】分析承载界面的更多相关文章

  1. Reveal分析IOS界面,plist文件读取

    Reveal分析IOS界面,需要得到app的 softwareVersionBundleId上传到iphone中 , 而IOS8的iTunesMetadata.plist (设备路径/var/mobi ...

  2. python使用pyqt写带界面工具

    上篇介绍的使用python自带tkinter包,来写带界面的工具. 此篇介绍使用pyqt来开发测试工具. tkinter的好处是python官方自带,上手容易(但手写控件复杂),布局和摆放都不直观和容 ...

  3. 使用PyQt开发图形界面Python应用专栏目录

    ☞ ░ 前往老猿Python博文目录 ░ 本专栏为收费专栏的文章目录,对应的免费专栏为<PyQt入门知识目录>,两个专栏都为基于PyQt的Python图形界面开发基础教程,只是收费专栏中的 ...

  4. 使用PyQT开发图形界面程序

    环境 python:v3.3 PyQT:v4.10.4 注意问题: 在主文件前面加入,否则当前的工程模块无法找到 import sys sys.path.append(".") 入 ...

  5. Python-使用PyQT生成图形界面

    1.安装PyQT5以及QT Designer工具包 pip install PyQt5 pip install PyQt5-tools -i http://pypi.douban.com/simple ...

  6. Android 将APK文件安装到AVD中并分析其界面结构

    配置环境变量 将android sdk 中的android-sdk\tools .android-sdk\platform-tools 添加到windows环境变量中.用于打开android sdk中 ...

  7. [Abp vNext 源码分析] - 21. 界面与文字的本地化

    一.简介 ABP vNext 提供了全套的本地化字符串支持,具体用法可以参考官方使用文档.vNext 本身是对 Microsoft 提供的本地化组件进行了实现,通过 JSON 文件提供本地化源,这一点 ...

  8. 第15.17节 PyQt(Python+Qt)入门学习:PyQt图形界面应用程序的事件捕获方法大全及对比分析

    老猿Python博文目录 老猿Python博客地址 按照老猿规划的章节安排,信号和槽之后应该介绍事件,但事件在前面的随笔<PyQt(Python+Qt)实现的GUI图形界面应用程序的事件捕获方法 ...

  9. PyQt(Python+Qt)实现的GUI图形界面应用程序的事件捕获方法大全及对比分析

    一. 概述 PyQt的图形界面应用中,事件处理类似于Windows系统的消息处理.一个带图形界面的应用程序启动后,事件处理就是应用的主循环,事件处理负责接收事件.分发事件.接收应用处理事件的返回结果, ...

随机推荐

  1. recess----3.Controller如何和View关联

    上一篇我们讲到,Recess框架里面的controller就是一个典型的MVC框架的controller,它负责处理从浏览器(或其它客户端)过来的request,然后调用引用model里面的方法来进行 ...

  2. springmvc使用实体參数和ServletAPI

    一. 实体參数 前面我们知道使用注解@RequestParam能够获得參数的值,那么如今提交一个表单怎么获得当中的值了.你能够说能够使用request.getParameter("" ...

  3. 【Statistics】均值

    均值 均值(mean)是全部数据的算术平均值,也称为算术平均.在统计学中具有重要的地位,是集中趋势的主要测量值.均值分为:简单均值.加权均值. 简单均值 设代表均值,代表样本各变量值,n代表变量个数, ...

  4. Some Principles

    立刻做 1.2分钟原则 凡是2分钟内就可以完成的事,立刻去做不要犹豫.人的大脑擅长分析处理,不擅长记忆. 应用举例: a.加微信加QQ顺手添加备注名,或许下次联系已经是三个月后了. b.吃完饭立刻洗碗 ...

  5. SQL语句创建相同结构的表

    --Oracle的语句create table sa_salaryRecord as select * from sa_salary where 1=2; --MSSQL的语句select * int ...

  6. xgboost 自定义目标函数和评估函数

    https://zhpmatrix.github.io/2017/06/29/custom-xgboost/ https://www.cnblogs.com/silence-gtx/p/5812012 ...

  7. php get_called_class()函数与get_class函数的区别

    get_class (): 获取当前调用方法的类名: get_called_class():获取静态绑定后的类名: 有例为证: class Foo{ public function test(){ v ...

  8. C#反射取数组单个元素的类型

    去bing上查了一下,果然有和我一样蛋疼的朋友,他们在论坛研究了半天,最后还是暴力解决: public Type GetArrayElementType(Type t) { string tName ...

  9. atitit.it企业管理 项目管理 中的 授权机制 的来源 君权神授 的一定合理性

    atitit.it企业管理 项目管理 中的 授权机制 的来源 君权神授 的一定合理性 1. 授权(权利来源)的5种模式 1 2. 企业的组织机构与管理运作来源于国家的管理...而国家的管理又来源于宗教 ...

  10. C#将URL中的参数转换成字典Dictionary<string, string>

    /// <summary> /// 将获取的formData存入字典数组 /// </summary> public static Dictionary<String, ...