Advertisement
Guest User

Untitled

a guest
Jan 27th, 2020
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.45 KB | None | 0 0
  1. import sys
  2. from PyQt5 import QtWidgets, QtGui
  3. from PyQt5.QtWidgets import QApplication, QWidget,QPushButton,QAction,QLineEdit,QMessageBox,QLabel,QComboBox
  4. from PyQt5.QtGui import QIcon
  5. from PyQt5.QtCore import pyqtSlot
  6.  
  7.  
  8. class Prostokaty(QWidget):
  9.  
  10. def __init__(self):
  11. super().__init__()
  12. self.title='Liczenie Całek Różnymi Metodami'
  13. self.left=100
  14. self.top=100
  15. self.width=640
  16. self.height=480
  17. self.initUI()
  18. def initUI(self):
  19. self.setWindowTitle(self.title)
  20. self.setGeometry(self.left,self.top,self.width,self.height)
  21.  
  22. self.label = QLabel('Metoda Prostokątów',self)
  23. self.label.move(190,40)
  24. self.label.setFont(QtGui.QFont("Times", 16, QtGui.QFont.Bold))
  25.  
  26. self.Funkcja = QLabel('Funkcja',self)
  27. self.Funkcja.move(50,160)
  28. self.Funkcja.setFont(QtGui.QFont("Times", 12, QtGui.QFont.Bold))
  29.  
  30. self.A = QLabel('Początek przedziału',self)
  31. self.A.move(50,200)
  32. self.A.setFont(QtGui.QFont("Times", 12, QtGui.QFont.Bold))
  33.  
  34. self.B = QLabel('Koniec przedziału',self)
  35. self.B.move(50,240)
  36. self.B.setFont(QtGui.QFont("Times", 12, QtGui.QFont.Bold))
  37.  
  38. self.Krok = QLabel('Krok ',self)
  39. self.Krok.move(50,280)
  40. self.Krok.setFont(QtGui.QFont("Times", 12, QtGui.QFont.Bold))
  41.  
  42. self.sposób = QLabel('Sposób pomiarów',self)
  43. self.sposób.move(50,320)
  44. self.sposób.setFont(QtGui.QFont("Times", 12, QtGui.QFont.Bold))
  45.  
  46. self.textboxFunkcja = QLineEdit(self)
  47. self.textboxFunkcja.move(300,151)
  48. self.textboxFunkcja.resize(200,36)
  49.  
  50. self.textboxA = QLineEdit(self)
  51. self.textboxA.move(300,191)
  52. self.textboxA.resize(200,36)
  53.  
  54. self.textboxB = QLineEdit(self)
  55. self.textboxB.move(300,231)
  56. self.textboxB.resize(200,36)
  57.  
  58. self.textboxKrok = QLineEdit(self)
  59. self.textboxKrok.move(300,271)
  60. self.textboxKrok.resize(200,36)
  61.  
  62. self.comboBoxsposób = QComboBox(self)
  63. self.comboBoxsposób.addItem("Prawo")
  64. self.comboBoxsposób.addItem("Lewo")
  65. self.comboBoxsposób.addItem("Środek")
  66. self.comboBoxsposób.move(300,311)
  67. self.comboBoxsposób.resize(200,36)
  68. self.comboBoxsposób.setStyleSheet('background-color: white;')
  69. self.comboBoxsposób.setFont(QtGui.QFont("Times", 12, QtGui.QFont.Bold))
  70.  
  71. self.ObliczP=QPushButton('Oblicz',self)
  72. self.ObliczP.clicked.connect(self.rozwiaz)
  73. self.ObliczP.move(50,380)
  74. self.ObliczP.setFont(QtGui.QFont("Times", 12, QtGui.QFont.Bold))
  75. self.ObliczP.resize(100,36)
  76.  
  77. self.show()
  78.  
  79. @pyqtSlot()
  80. def rozwiaz(self):
  81. self.funkcja = self.textboxFunkcja.text()
  82. self.A=self.textboxA.text()
  83. self.B=self.textboxB.text()
  84. self.Krok=self.textboxKrok.text()
  85. self.sposób=self.comboBoxsposób.currentText()
  86. print(self.funkcja)
  87. print(self.A)
  88. print(self.B)
  89. print(self.Krok)
  90. print(self.sposób)
  91.  
  92.  
  93.  
  94.  
  95. class Trapezy(QWidget):
  96.  
  97. def __init__(self):
  98. super().__init__()
  99. self.title='Liczenie Całek Różnymi Metodami'
  100. self.left=100
  101. self.top=100
  102. self.width=640
  103. self.height=480
  104. self.initUI()
  105. def initUI(self):
  106. self.setWindowTitle(self.title)
  107. self.setGeometry(self.left,self.top,self.width,self.height)
  108.  
  109. self.label = QLabel('Metoda Trapezów',self)
  110. self.label.move(190,40)
  111. self.label.setFont(QtGui.QFont("Times", 16, QtGui.QFont.Bold))
  112.  
  113. self.Funkcja = QLabel('Funkcja',self)
  114. self.Funkcja.move(50,160)
  115. self.Funkcja.setFont(QtGui.QFont("Times", 12, QtGui.QFont.Bold))
  116.  
  117. self.A = QLabel('Początek przedziału',self)
  118. self.A.move(50,200)
  119. self.A.setFont(QtGui.QFont("Times", 12, QtGui.QFont.Bold))
  120.  
  121. self.B = QLabel('Koniec przedziału',self)
  122. self.B.move(50,240)
  123. self.B.setFont(QtGui.QFont("Times", 12, QtGui.QFont.Bold))
  124.  
  125. self.Krok = QLabel('Krok ',self)
  126. self.Krok.move(50,280)
  127. self.Krok.setFont(QtGui.QFont("Times", 12, QtGui.QFont.Bold))
  128.  
  129. self.textboxFunkcja = QLineEdit(self)
  130. self.textboxFunkcja.move(300,151)
  131. self.textboxFunkcja.resize(200,36)
  132.  
  133. self.textboxA = QLineEdit(self)
  134. self.textboxA.move(300,191)
  135. self.textboxA.resize(200,36)
  136.  
  137. self.textboxB = QLineEdit(self)
  138. self.textboxB.move(300,231)
  139. self.textboxB.resize(200,36)
  140.  
  141. self.textboxKrok = QLineEdit(self)
  142. self.textboxKrok.move(300,271)
  143. self.textboxKrok.resize(200,36)
  144.  
  145.  
  146. self.ObliczT=QPushButton('Oblicz',self)
  147. self.ObliczT.clicked.connect(self.rozwiaz2)
  148. self.ObliczT.move(50,380)
  149. self.ObliczT.setFont(QtGui.QFont("Times", 12, QtGui.QFont.Bold))
  150. self.ObliczT.resize(100,36)
  151.  
  152. self.show()
  153.  
  154. @pyqtSlot()
  155. def rozwiaz2(self):
  156. self.funkcja = self.textboxFunkcja.text()
  157. self.A=self.textboxA.text()
  158. self.B=self.textboxB.text()
  159. self.Krok=self.textboxKrok.text()
  160. print(self.funkcja)
  161. print(self.A)
  162. print(self.B)
  163. print(self.Krok)
  164.  
  165. class MonteCarlo(QWidget):
  166.  
  167. def __init__(self):
  168. super().__init__()
  169. self.title='Liczenie Całek Różnymi Metodami'
  170. self.left=100
  171. self.top=100
  172. self.width=640
  173. self.height=480
  174. self.initUI()
  175. def initUI(self):
  176. self.setWindowTitle(self.title)
  177. self.setGeometry(self.left,self.top,self.width,self.height)
  178.  
  179. self.label = QLabel('Metoda MonteCarlo',self)
  180. self.label.move(190,40)
  181. self.label.setFont(QtGui.QFont("Times", 16, QtGui.QFont.Bold))
  182.  
  183. self.Funkcja = QLabel('Funkcja',self)
  184. self.Funkcja.move(50,160)
  185. self.Funkcja.setFont(QtGui.QFont("Times", 12, QtGui.QFont.Bold))
  186.  
  187. self.A = QLabel('Początek przedziału',self)
  188. self.A.move(50,200)
  189. self.A.setFont(QtGui.QFont("Times", 12, QtGui.QFont.Bold))
  190.  
  191. self.B = QLabel('Koniec przedziału',self)
  192. self.B.move(50,240)
  193. self.B.setFont(QtGui.QFont("Times", 12, QtGui.QFont.Bold))
  194.  
  195. self.Krok = QLabel('Krok ',self)
  196. self.Krok.move(50,280)
  197. self.Krok.setFont(QtGui.QFont("Times", 12, QtGui.QFont.Bold))
  198.  
  199.  
  200. self.textboxFunkcja = QLineEdit(self)
  201. self.textboxFunkcja.move(300,151)
  202. self.textboxFunkcja.resize(200,36)
  203.  
  204. self.textboxA = QLineEdit(self)
  205. self.textboxA.move(300,191)
  206. self.textboxA.resize(200,36)
  207.  
  208. self.textboxB = QLineEdit(self)
  209. self.textboxB.move(300,231)
  210. self.textboxB.resize(200,36)
  211.  
  212. self.textboxKrok = QLineEdit(self)
  213. self.textboxKrok.move(300,271)
  214. self.textboxKrok.resize(200,36)
  215.  
  216.  
  217. self.ObliczM=QPushButton('Oblicz',self)
  218. self.ObliczM.clicked.connect(self.rozwiaz3)
  219. self.ObliczM.move(50,380)
  220. self.ObliczM.setFont(QtGui.QFont("Times", 12, QtGui.QFont.Bold))
  221. self.ObliczM.resize(100,36)
  222.  
  223. self.show()
  224.  
  225. @pyqtSlot()
  226. def rozwiaz3(self):
  227. self.funkcja = self.textboxFunkcja.text()
  228. self.A=self.textboxA.text()
  229. self.B=self.textboxB.text()
  230. self.Krok=self.textboxKrok.text()
  231. print(self.funkcja)
  232. print(self.A)
  233. print(self.B)
  234. print(self.Krok)
  235.  
  236. class Simpson(QWidget):
  237.  
  238. def __init__(self):
  239. super().__init__()
  240. self.title='Liczenie Całek Różnymi Metodami'
  241. self.left=100
  242. self.top=100
  243. self.width=640
  244. self.height=480
  245. self.initUI()
  246. def initUI(self):
  247. self.setWindowTitle(self.title)
  248. self.setGeometry(self.left,self.top,self.width,self.height)
  249.  
  250. self.label = QLabel('Metoda Simpsona',self)
  251. self.label.move(190,40)
  252. self.label.setFont(QtGui.QFont("Times", 16, QtGui.QFont.Bold))
  253.  
  254. self.Funkcja = QLabel('Funkcja',self)
  255. self.Funkcja.move(50,160)
  256. self.Funkcja.setFont(QtGui.QFont("Times", 12, QtGui.QFont.Bold))
  257.  
  258. self.A = QLabel('Początek przedziału',self)
  259. self.A.move(50,200)
  260. self.A.setFont(QtGui.QFont("Times", 12, QtGui.QFont.Bold))
  261.  
  262. self.B = QLabel('Koniec przedziału',self)
  263. self.B.move(50,240)
  264. self.B.setFont(QtGui.QFont("Times", 12, QtGui.QFont.Bold))
  265.  
  266. self.Krok = QLabel('Krok ',self)
  267. self.Krok.move(50,280)
  268. self.Krok.setFont(QtGui.QFont("Times", 12, QtGui.QFont.Bold))
  269.  
  270. self.textboxFunkcja = QLineEdit(self)
  271. self.textboxFunkcja.move(300,151)
  272. self.textboxFunkcja.resize(200,36)
  273.  
  274. self.textboxA = QLineEdit(self)
  275. self.textboxA.move(300,191)
  276. self.textboxA.resize(200,36)
  277.  
  278. self.textboxB = QLineEdit(self)
  279. self.textboxB.move(300,231)
  280. self.textboxB.resize(200,36)
  281.  
  282. self.textboxKrok = QLineEdit(self)
  283. self.textboxKrok.move(300,271)
  284. self.textboxKrok.resize(200,36)
  285.  
  286. self.ObliczS=QPushButton('Oblicz',self)
  287. self.ObliczS.clicked.connect(self.rozwiaz4)
  288. self.ObliczS.move(50,380)
  289. self.ObliczS.setFont(QtGui.QFont("Times", 12, QtGui.QFont.Bold))
  290. self.ObliczS.resize(100,36)
  291.  
  292. self.show()
  293.  
  294. @pyqtSlot()
  295. def rozwiaz4(self):
  296. self.funkcja = self.textboxFunkcja.text()
  297. self.A=self.textboxA.text()
  298. self.B=self.textboxB.text()
  299. self.Krok=self.textboxKrok.text()
  300. print(self.funkcja)
  301. print(self.A)
  302. print(self.B)
  303. print(self.Krok)
  304.  
  305. class App(QWidget):
  306.  
  307. def on_prosto(self):
  308. child = Prostokaty()
  309. child.show()
  310. self.children.append(child)
  311.  
  312. def on_trapez(self):
  313. child = Trapezy()
  314. child.show()
  315. self.children.append(child)
  316.  
  317. def on_mc(self):
  318. child = MonteCarlo()
  319. child.show()
  320. self.children.append(child)
  321.  
  322. def on_sim(self):
  323. child = Simpson()
  324. child.show()
  325. self.children.append(child)
  326.  
  327. def __init__(self):
  328. super().__init__()
  329. self.title='Liczenie Całek Różnymi Metodami'
  330. self.left=100
  331. self.top=100
  332. self.width=640
  333. self.height=480
  334. self.initUI()
  335.  
  336. def initUI(self):
  337.  
  338. self.setWindowTitle(self.title)
  339. self.setGeometry(self.left,self.top,self.width,self.height)
  340.  
  341. self.label = QLabel('Wybierz metode obliczania całek',self)
  342. self.label.move(150,40)
  343. self.label.setFont(QtGui.QFont("Times", 16, QtGui.QFont.Bold))
  344.  
  345. self.Prosto=QPushButton('Metoda Prostokątów',self)
  346. self.Prosto.clicked.connect(self.on_prosto)
  347. self.children = []
  348. self.Prosto.move(50,160)
  349. self.Prosto.setFont(QtGui.QFont("Times", 12, QtGui.QFont.Bold))
  350.  
  351. self.Trapez=QPushButton('Metoda Trapezów',self)
  352. self.Trapez.clicked.connect(self.on_trapez)
  353. self.children = []
  354. self.Trapez.move(50,200)
  355. self.Trapez.setFont(QtGui.QFont("Times", 12, QtGui.QFont.Bold))
  356.  
  357. self.MonteCarlo=QPushButton('Metoda MonteCarlo',self)
  358. self.MonteCarlo.clicked.connect(self.on_mc)
  359. self.children = []
  360. self.MonteCarlo.move(50,240)
  361. self.MonteCarlo.setFont(QtGui.QFont("Times", 12, QtGui.QFont.Bold))
  362.  
  363. self.Simpson=QPushButton('Metoda Simpsona',self)
  364. self.Simpson.clicked.connect(self.on_sim)
  365. self.children = []
  366. self.Simpson.move(50,280)
  367. self.Simpson.setFont(QtGui.QFont("Times", 12, QtGui.QFont.Bold))
  368.  
  369.  
  370. self.show()
  371.  
  372.  
  373.  
  374. if __name__=='__main__':
  375. app=QApplication(sys.argv)
  376. ex=App()
  377. ex.show()
  378. sys.exit(app.exec_())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement