# # Ex 5-1. QPushButton.
#
# # import sys
#
# # from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout
#
# # class MyApp(QWidget):
#
# # def init(self):
#
# # super().__init__()
#
# # self.initUI()
#
# # def initUI(self):
#
# # btn1 = QPushButton('&Button1', self)
#
# # btn1.setCheckable(True)
#
# # btn1.toggle()
#
# # self.btn2 = QPushButton(self)
#
# # self.btn2.setText('Button')
#
# # self.btn2.clicked.connect(self.clickBtnPrint)
#
# # btn3 = QPushButton('Button3', self)
#
# # btn3.setEnabled(False)
#
# #
#
# # vbox = QVBoxLayout()
#
# # vbox.addWidget(btn1)
#
# # vbox.addWidget(self.btn2)
#
# # vbox.addWidget(btn3)
#
# # self.setLayout(vbox)
#
# # self.setWindowTitle('QPushButton')
#
# # self.setGeometry(300, 300, 300, 200)
#
# # self.show()
#
# # def clickBtnPrint(self):
#
# # print('Hello')
#
# # if self.btn2.text() == 'Button':
#
# # self.btn2.setText('Hello World')
#
# #
#
# # if name == '__main__':
#
# # app = QApplication(sys.argv)
#
# # ex = MyApp()
#
# # sys.exit(app.exec_())
#
# # import pandas as pd
#
# # data = pd.read_csv('data.csv')
#
# # print(data)
#
# # import csv
#
# # import copy
#
# #
#
# # f = open('data2.csv', 'r', encoding='ansi')
#
# # rdr = csv.reader(f)
#
# # db = []
#
# #
#
# # for line in rdr:
#
# # print(line, type(line), len(line))
#
# # x = copy.deepcopy(line)
#
# # x = list(x)
#
# # x.pop()
#
# # db.append(x)
#
# # f.close()
#
# # for i in range(len(db)):
#
# # for j in range(len(db[i])):
#
# # try:
#
# # db[i][j] = float(db[i][j])
#
# # except:
#
# # x = 1
#
# #
#
# # # if i>=2 and ( j!=0 and j !=4 and j != 9 ):
#
# # # db[i][j] = float(db[i][j])
#
# # print(db[i][j], end=' ')
#
# # print()
#
# #
#
# # xData = []
#
# # yData = []
#
# # aData = []
#
# # bData = []
#
# #
#
# # for i in range(len(db)):
#
# # yData.append(db[i][3])
#
# # xData.append(db[i][0])
#
# # aData.append(db[i][5])
#
# # bData.append(db[i][8])
#
# # print(db[i][0], db[i][3], db[i][5], db[i][8])
#
# #
#
# # #
#
# # import matplotlib.pyplot as plt
#
# # import numpy as np
#
# # print(xData)
#
# # xData.pop(0)
#
# # xData.pop(0)
#
# # yData.pop(0)
#
# # yData.pop(0)
#
# # aData.pop(0)
#
# # aData.pop(0)
#
# # bData.pop(0)
#
# # bData.pop(0)
#
# #
#
# # x = []
#
# # y = []
#
# # for i in range(len(xData)):
#
# # x.append(i+1)
#
# # for i in range(len(aData)):
#
# # y.append(i+1)
#
# #
#
# # plt.plot(x, yData, 'bo')
#
# # plt.plot(y, bData, color='#e35f62', marker='*', linewidth=2)
#
# #
#
# # plt.xlabel('Time(s)')
#
# # plt.ylabel('Current(mA)')
#
# # plt.legend('I')
#
# # plt.legend('I2')
#
# #
#
# # plt.tick_params(axis='both', direction='in', length=3, pad=6, labelsize=14)
#
# # plt.title('Current vs pH')
#
# #
#
# # plt.show()
#
# # import csv
#
# ## Ex 3-1. 창 띄우기.
#
# # import sys
#
# # from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout, QLineEdit
#
# # import csv
#
# # import copy
#
# #
#
# # class MyApp(QWidget):
#
# #
#
# # def init(self):
#
# # super().__init__()
#
# # self.initUI()
#
# #
#
# # def initUI(self):
#
# # self.setWindowTitle('My First Application')
#
# # x = QVBoxLayout()
#
# #
#
# # self.textBar = QLineEdit('0')
#
# # self.textBar.setDisabled(True)
#
# # self.xButton = QPushButton('Hello Click This Button')
#
# # self.xButton.clicked.connect(self.getData)
#
# #
#
# # x.addWidget(self.textBar)
#
# # x.addWidget(self.xButton)
#
# #
#
# # self.setLayout(x)
#
# # self.move(300, 300)
#
# # self.resize(400, 200)
#
# # self.show()
#
# #
#
# # def getData(self):
#
# # f = open('data2.csv', 'r', encoding='ansi')
#
# # rdr = csv.reader(f)
#
# # db = []
#
# # for line in rdr:
# # print(line, type(line), len(line))
# # x = copy.deepcopy(line)
# # x = list(x)
# # x.pop()
# # db.append(x)
# # f.close()
# # for i in range(len(db)):
# # for j in range(len(db[i])):
# # try:
# # db[i][j] = float(db[i][j])
# # except:
# # x = 1
#
# # # if i>=2 and ( j!=0 and j !=4 and j != 9 ):
# # # db[i][j] = float(db[i][j])
# # print(db[i][j], end=' ')
# # print()
#
# # def clickAddNumber(self):
# # print('asdasd')
# # p = self.textBar.text()
# # p = int(p)
# # p += 1
# # self.textBar.setText(str(p))
#
# #
# # if name == '__main__':
# # app = QApplication(sys.argv)
# # ex = MyApp()
# # sys.exit(app.exec_())
#
#
# ## Ex 3-1. 창 띄우기.
#
# import sys
# from PyQt5.QtWidgets import QApplication, QWidget, QHBoxLayout, QPushButton, QVBoxLayout, QTextEdit
#
#
# class MyApp(QWidget):
# def init(self):
# super().__init__()
# self.inputString = ''
# self.noon = False
# self.sp = 0
# self.ep = 0
#
# self.value1 = 0
# self.value2 = 0
#
# self.initUI()
# self.typeA = None
#
# def initUI(self):
# self.setWindowTitle('My First Application')
# self.move(300, 300)
# self.resize(400, 200)
#
#
# labelLayout = QVBoxLayout()
#
# insLayout1 = QHBoxLayout()
# insLayout2 = QHBoxLayout()
# insLayout3 = QHBoxLayout()
# insLayout4 = QHBoxLayout()
#
# self.y = QPushButton('7')
# self.z = QPushButton('8')
# self.a = QPushButton('9')
# self.b = QPushButton('x')
# self.y.clicked.connect(lambda : self.summation('7'))
# self.z.clicked.connect(lambda : self.summation('8'))
# self.a.clicked.connect(lambda: self.summation('9'))
# self.b.clicked.connect(lambda: self.summation('x'))
#
#
# insLayout1.addWidget(self.y)
# insLayout1.addWidget(self.z)
# insLayout1.addWidget(self.a)
# insLayout1.addWidget(self.b)
#
# labelLayout = QVBoxLayout()
# insLayout5 = QHBoxLayout()
# insLayout6 = QHBoxLayout()
# insLayout7 = QHBoxLayout()
# insLayout8 = QHBoxLayout()
# resultLayout = QHBoxLayout()
#
# self.outputLine = QTextEdit()
# self.outputLine.setDisabled(True)
# self.outputLine.setStyleSheet('background-color: pink;')
# resultLayout.addWidget(self.outputLine)
#
# self.y = QPushButton('4')
# self.z = QPushButton('5')
# self.a = QPushButton('6')
# self.b = QPushButton('-')
# self.y.clicked.connect(lambda: self.summation('4'))
# self.z.clicked.connect(lambda: self.summation('5'))
# self.a.clicked.connect(lambda: self.summation('6'))
# self.b.clicked.connect(lambda: self.summation('-'))
#
# insLayout2.addWidget(self.y)
# insLayout2.addWidget(self.z)
# insLayout2.addWidget(self.a)
# insLayout2.addWidget(self.b)
#
# labelLayout = QVBoxLayout()
# insLayout9 = QHBoxLayout()
# insLayout10 = QHBoxLayout()
# insLayout11 = QHBoxLayout()
# insLayout12 = QHBoxLayout()
#
# self.c = QPushButton('1')
# self.d = QPushButton('2')
# self.e = QPushButton('3')
# self.f = QPushButton('+')
# self.c.clicked.connect(lambda: self.summation('1'))
# self.d.clicked.connect(lambda: self.summation('2'))
# self.e.clicked.connect(lambda: self.summation('3'))
# self.f.clicked.connect(lambda: self.summation('+'))
#
# insLayout3.addWidget(self.c)
# insLayout3.addWidget(self.d)
# insLayout3.addWidget(self.e)
# insLayout3.addWidget(self.f)
#
# labelLayout = QVBoxLayout()
# insLayout13 = QHBoxLayout()
# insLayout14 = QHBoxLayout()
# insLayout15 = QHBoxLayout()
# insLayout16 = QHBoxLayout()
#
# self.g = QPushButton('+/-')
# self.h = QPushButton('0')
# self.i = QPushButton('.')
# self.j = QPushButton('=')
# self.g.clicked.connect(lambda: self.summation('+/-'))
# self.h.clicked.connect(lambda: self.summation('0'))
# self.i.clicked.connect(lambda: self.summation('.'))
# self.j.clicked.connect(lambda: self.summation('='))
#
# insLayout4.addWidget(self.g)
# insLayout4.addWidget(self.h)
# insLayout4.addWidget(self.i)
# insLayout4.addWidget(self.j)
#
#
#
# labelLayout = QVBoxLayout()
# insLayout17 = QHBoxLayout()
# insLayout18 = QHBoxLayout()
# insLayout19 = QHBoxLayout()
# insLayout20 = QHBoxLayout()
#
# self.k = QPushButton('%')
# self.l = QPushButton('CE')
# self.m = QPushButton('C')
# self.n = QPushButton('/')
# self.k.clicked.connect(lambda: self.summation('%'))
# self.l.clicked.connect(lambda: self.summation('CE'))
# self.m.clicked.connect(lambda: self.summation('C'))
# self.n.clicked.connect(lambda: self.summation('/'))
#
# insLayout5.addWidget(self.k)
# insLayout5.addWidget(self.l)
# insLayout5.addWidget(self.m)
# insLayout5.addWidget(self.n)
#
# labelLayout.addLayout(resultLayout)
# labelLayout.addLayout(insLayout5)
# labelLayout.addLayout(insLayout1)
# labelLayout.addLayout(insLayout2)
# labelLayout.addLayout(insLayout3)
# labelLayout.addLayout(insLayout4)
#
# self.setLayout(labelLayout)
# self.show()
#
# def talkAfter(self):
# print('Heelllo !')
#
# def summation(self, x):
# if x == '+' or x == '-' or x == 'x' or x == '/':
# if list(self.inputString)[-1] == '+' or \
# list(self.inputString)[-1] == '-' or \
# list(self.inputString)[-1] == 'x' or \
# list(self.inputString)[-1] == '/':
# return
#
# if x== '=':
# x, y = self.inputString.split('+')
# print('>>>>', int(x) + int(y))
# self.outputLine.setText( self.outputLine.toPlainText() + '\n\t\t=' + str(int(x) + int(y)) )
# # for i in range(len(self.inputString)):
# # if self.inputString[i] == '+':
# # self.ep = i
# # if self.value1 == 0:
# # self.value1 = int(self.inputString[self.sp:self.ep])
# # self.noon = True
# # else:
# # if self.noon == True:
# # self.sp = i
# #
# # if self.inputString[i] == '=':
# # self.ep = i
# # xxx = int(self.inputString[self.sp:self.ep])
# # print(self.value1 + xxx)
#
# else:
# print(x)
# self.inputString += x
# self.outputLine.setText(self.inputString)
# print(self.inputString)
#
#
# if name == '__main__':
# app = QApplication(sys.argv)
# ex = MyApp()
# sys.exit(app.exec_())
## Ex 6-4. QFileDialog.
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QTextEdit, QAction, QFileDialog
from PyQt5.QtGui import QIcon
class MyApp(QMainWindow):
def init(self):
super().__init__()
self.initUI()
def initUI(self):
self.textEdit = QTextEdit()
self.setCentralWidget(self.textEdit)
self.statusBar()
openFile = QAction(QIcon('open.png'), 'Open', self)
openFile.setShortcut('Ctrl+O')
openFile.setStatusTip('Open New File')
openFile.triggered.connect(self.showDialog)
menubar = self.menuBar()
menubar.setNativeMenuBar(False)
fileMenu = menubar.addMenu('&File')
fileMenu.addAction(openFile)
self.setWindowTitle('File Dialog')
self.setGeometry(300, 300, 300, 200)
def showDialog(self):
fname = QFileDialog.getOpenFileName(self, 'Open file', './')
if fname[0]:
f = open(fname[0], 'r')
with f:
data = f.read()
self.textEdit.setText(data)
if name == '__main__':
app = QApplication(sys.argv)
ex = MyApp()
sys.exit(app.exec_())