【PyQt】분석 적재 인터페이스
18901 단어 qt
# 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_()
---------------------------------
데이터 분석:
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=0
12 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=0
21 self.rownum=0
22 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+=1
29 else:
30 for i in range(len(linelist)):
31 self.data[self.columnName[i]].append(linelist[i])
32 self.rownum+=1
33
34 fileData.close()
35
36 def setFileDir(self,dir):
37 self.file=dir
38 self.runflag=1
39 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.rownum
49
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.columnName
56
57
58
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
qt 파일 작업텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.