首先利用PYQT5创建好想要的UI界面,然后转为.PY,再新建一个.PY再调用ui界面即可
#!/usr/bin/python
# coding=gbk
import sys, os, datetime,glob
from jk_tb import Ui_MainWindow
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5 import QtWidgets, QtCore, QtGui
class win(QMainWindow, Ui_MainWindow): ##QMainWindow要导入,Ui_MainWindow对应jk.ui的类名
def __init__(self):
super(win, self).__init__()
self.setupUi(self)
self.pushButton.clicked.connect(self.on_click)
self.pushButton_2.clicked.connect(self.on_click_2)
self.pushButton_3.clicked.connect(self.on_click_3)
#sd = self.textEdit_3.toPlainText() # 获取TextEDIT值
#ed = self.textEdit_4.toPlainText()
# num_2=self.radioButton_2.isChecked()
# num_1=self.radioButton.isChecked()
# str=self.lineEdit.toPlainText()
# s=self.lineEdit.text()
def on_click(self): #生成脚本
pt = os.getcwd()
s = self.lineEdit.text()#DNS
#sd = self.textEdit_5.toPlainText()
#self.textEdit_3.setText(sd)
# self.textEdit_3.setText(_translate("win", sd))
#ed = self.textEdit_6.toPlainText()
#self.textEdit_4.setText(ed)
tdd = self.textEdit_5.toPlainText()#TDD SCRIP
fdd = self.textEdit_6.toPlainText()#FDD SCRIP
cells=self.textEdit_7.toPlainText()#cell
cellname=cells.replace(",","','")
cellname = cellname.replace('\n', "")
cellname=chr(39)+cellname+chr(39)
#print(tdd.replace('tddcellname',cells_n))
if self.radioButton.isChecked():
for n_dns in s.split(","):
#TDD
with open(pt + "\\scrip\\tb\\" + n_dns + "_TDD.sql", 'w',encoding='GBK') as n_scrip:
n_scrip.write("PARAMETERS sdate,edate;" + '\n')
n_scrip.write(tdd.replace("{cellname}",cellname))
n_scrip.write("output to " + chr(34) + pt + "\output" + chr(92) + n_dns + "_tdd.csv" + chr(34) + " FORMAT TEXT DELIMITED BY " + chr(39) + chr(44) + chr(39) + " QUOTE " + chr(39) + chr(39) + " WITH COLUMN NAMES;")
n_scrip.close()
with open(pt + "\\scrip\\tb\\" + n_dns + "_FDD.sql", 'w',encoding='GBK') as n_scrip:
n_scrip.write("PARAMETERS sdate,edate;" + '\n')
n_scrip.write(fdd.replace("{cellname}",cellname))
n_scrip.write("output to " + chr(34) + pt + "\output" + chr(92) + n_dns + "_fdd.csv" + chr(34) + " FORMAT TEXT DELIMITED BY " + chr(39) + chr(44) + chr(39) + " QUOTE " + chr(39) + chr(39) + " WITH COLUMN NAMES;")
n_scrip.close()
self.textEdit_8.setText("ok,done!")
print("ok")
def on_click_2(self): #取统计
if self.radioButton.isChecked():
sdate =self.textEdit_3.toPlainText()
edate=self.textEdit_4.toPlainText()
cells = self.textEdit_7.toPlainText() # cell
cellname = cells.replace(",", "','")
cellname=cellname.replace('\n',"")
print(edate, sdate)
pt = os.getcwd()
for sql_f in os.listdir(pt + "\\scrip\\tb\\"):
sql_dns = sql_f.replace("_TDD.sql", "")
sql_dns = sql_dns.replace("_FDD.sql", "")
print(sql_dns)
dns_connect = "??? -datasource " + sql_dns + " -onerror continue read " + pt + "\\scrip\\tb\\" + sql_f + " ['" + sdate + "'] ['" + edate + "'];"
os.system(dns_connect)
csv_nums = glob.glob('./output/' + '*.csv')
m1 = 1
for inputfile in csv_nums:
if m1 == 1:
# print(inputfile)
fname = open(inputfile, 'r').read()
with open('output.csv', 'w') as f:
f.write(fname)
m1 = m1 + 1
else:
fname = open(inputfile, 'r').read()
with open('output.csv', 'a') as f:
f.write(fname)
m1 = m1 + 1
os.remove(inputfile)
self.textEdit_9.setText("done!")
def on_click_3(self): #输出统计
if self.radioButton_2.isChecked():
import pandas as pd
from sqlalchemy import create_engine
engine = create_engine('sqlite:///localdb.sqlite')
df = pd.read_csv('./output.csv', encoding='GBK')
df.to_sql('test', con=engine, if_exists='replace', index=False)
# df.dtypes
fpd= """select Date_ID,HOUR_ID, from test group by date_id,hour_id;"""
fpd = pd.read_sql(fpd, engine)
fpd.to_csv("统计_小时级别.csv", index=False,encoding='GBK')
self.textEdit_10.setText("hour ok!")
if __name__ == '__main__':
app = QApplication(sys.argv)
# MainWindow = QMainWindow()
w = win()
w.show()
# ui = Ui_MainWindow()
# ui.setupUi(MainWindow)
# MainWindow.show()
sys.exit(app.exec_())
声明:我要去上班所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者kkh123所有,原文出处。若您的权利被侵害,请联系删除。
本文标题:(python写漂亮的ui界面)(pythonui界面设计)
本文链接:https://www.51qsb.cn/article/dvjjm5.html