ΠΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Π½Π° python / Π₯Π°Π±Ρ
ΠΠ°ΡΠ°Π»ΠΎ
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅, Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π» ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΠ³ΡΡ Π½Π° python, Π° ΡΠ΅ΠΉΡΠ°Ρ ΠΌΡ ΠΏΠΎΡΠΌΠΎΡΡΠΈ ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Π½Π° python tkinter.
Π‘ΠΎΠ·Π΄Π°ΡΠΌ ΠΎΠΊΠ½ΠΎ 485 Π½Π° 550. Π Π°Π·ΠΌΠ΅ΡΡ Π½Π΅ Π²Π°ΠΆΠ½Ρ, ΠΌΠ½Π΅ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ»ΠΈΡΡ ΡΠ°ΠΊΠΈΠ΅. Π’Π°ΠΊ ΠΆΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ, ΡΡΠΎ ΠΎΠΊΠ½ΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ.
from tkinter import *
class Main(Frame):
def __init__(self, root):
super(Main, self).__init__(root)
self.build()
def build(self):
pass
def logicalc(self, operation):
pass
def update():
pass
if __name__ == '__main__':
root = Tk()
root["bg"] = "#000"
root.geometry("485x550+200+200")
root.title("ΠΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ")
root.resizable(False, False)
app = Main(root)
app.pack()
root.mainloop()
ΠΡΠ»ΠΈΡΠ½ΠΎ, ΠΈΠ΄ΡΠΌ Π΄Π°Π»ΡΡΠ΅.
ΠΠ΅Π»Π°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΎΡΠΊΠΈ
Π ΠΌΠ΅ΡΠΎΠ΄Π΅ build ΡΠΎΠ·Π΄Π°ΡΠΌ ΡΠ°ΠΊΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ:
btns = [
"C", "DEL", "*", "=",
"1", "2", "3", "/",
"4", "5", "6", "+",
"7", "8", "9", "-",
"+/-", "0", "%", "X^2"
]
ΠΠ½ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° Π²ΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΠΈΠ΅ΡΡ Ρ Π½Π°Ρ Π² ΠΎΠΊΠ½Π΅.
ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠΏΠΈΡΠΎΠΊ, ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΠΌΡΡ ΡΠΈΠΊΠ»ΠΎΠΌ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌ ΡΡΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π΅ ΠΏΠΈΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
x = 10
y = 140
for bt in btns:
com = lambda x=bt: self.logicalc(x)
Button(text=bt, bg="#FFF",
font=("Times New Roman", 15),
command=com).place(x=x, y=y,
width=115,
height=79)
x += 117
if x > 400:
x = 10
y += 81
ΠΠ°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΊΠ½ΠΎΠΏΠΎΡΠΊΠΈ. ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π½Π°Π΄ΠΏΠΈΡΡ Ρ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°. Π― Ρ ΠΎΡΡ ΡΡΠΎ Π±Ρ ΡΠ΅ΠΊΡΡ Π±ΡΠ» ΡΠ»Π΅Π²Π°, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π°ΡΡΡΠΈΠ±ΡΡΠΎΠ² Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ° ΠΏΠΈΡΠ°ΡΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ.
self.formula = "0" self.lbl = Label(text=self.formula, font=("Times New Roman", 21, "bold"), bg="#000", foreground="#FFF") self.lbl.place(x=11, y=50)
ΠΠΈΡΠ΅ΠΌ Π»ΠΎΠ³ΠΈΠΊΡ
def logicalc(self, operation):
if operation == "C":
self.2":
self.formula = str((eval(self.formula))**2)
elif operation == "=":
self.formula = str(eval(self.formula))
else:
if self.formula == "0":
self.formula = ""
self.formula += operation
self.update()
def update(self):
if self.formula == "":
self.formula = "0"
self.lbl.configure(text=self.formula)
Π’Π°ΠΊ, ΠΊΠ°ΠΊ Ρ Π½Π°Ρ Π½Π΅Ρ Π²Π²ΠΎΠ΄Π° Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΡΠ΅Π±Π΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ, ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π° ΡΠΏΠ΅Ρ. ΠΊΠ½ΠΎΠΏΠΊΠΈ (C, DEL, =) ΠΈ Π² ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠΎ ΠΊ ΡΠΎΡΠΌΡΠ»Π΅.
Π£ ΡΡΠΎΠ³ΠΎ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π½Π΅Π΄ΠΎΡΠ΅ΡΠΎΠ², Π½ΠΎ ΠΌΡ ΠΈ Π½Π΅ ΡΡΡΠ΅ΠΌΠΈΠ»ΠΈΡΡ ΡΠ΄Π΅Π»Π°ΡΡ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΌ.
ΠΡΠΎΡΡ ΠΏΡΠΎΡΠ΅Π½ΠΈΡ Π·Π° ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΡΡΠ°ΡΡΠ΅. ΠΠΈΡΠΈΡΠ΅, Ρ ΠΈΡΠΏΡΠ°Π²Π»ΡΡΡ.
from tkinter import * class Main(Frame): def __init__(self, root): super(Main, self).__init__(root) self.build() def build(self): self.formula = "0" self.lbl = Label(text=self.formula, font=("Times New Roman", 21, "bold"), bg="#000", foreground="#FFF") self.2": self.formula = str((eval(self.formula))**2) elif operation == "=": self.formula = str(eval(self.formula)) else: if self.formula == "0": self.formula = "" self.formula += operation self.update() def update(self): if self.formula == "": self.formula = "0" self.lbl.configure(text=self.formula) if __name__ == '__main__': root = Tk() root["bg"] = "#000" root.geometry("485x550+200+200") root.title("ΠΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ") root.resizable(False, False) app = Main(root) app.pack() root.mainloop()
ΠΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Π½Π° Python 3 Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ β ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΡΡΠ°ΡΠ°ΡΡΡΡ ΠΈΠ·ΡΡΠ°ΡΡ ΡΠ·ΡΠΊΠΈΒ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΠ΄ΠΈΠ½ ΠΈΠ· Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² β Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΠΈΡΠ°ΡΡ Π² ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ΅ Python ΠΈΠ»ΠΈ Π·Π°ΠΏΡΡΡΠΈΠ² ΠΊΠΎΠ½ΡΠΎΠ»Ρ. ΠΠΎ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π»ΡΡΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π½Π° python ΡΠ²ΠΎΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ.
Π‘ΡΠΈΡΠ°Π΅ΠΌ Π² ΠΊΠΎΠ½ΡΠΎΠ»Π΅
ΠΠ΅Π»Π°Π΅ΠΌ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ
ΠΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π·Π°ΠΊΡΠ΅ΠΏΠ»ΡΡΡ ΡΠ²ΠΎΠΈ Π·Π½Π°Π½ΠΈΡ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΎΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. Π’Π°ΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ΄ΡΠΌΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ β ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π·Π°ΠΌΠ΅ΡΠΎΠΊ, ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³Π½ΠΎΠ·Π° ΠΏΠΎΠ³ΠΎΠ΄Ρ.
ΠΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄Π΅Π»Π°Π΅Ρ ΡΠΊΡΠΈΠ½ΡΠΎΡΡ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΠΏΠ°ΠΏΠΊΡ. Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π½Π°Π΄ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΊΠ°ΠΊΠΎΠ΅-Π½ΠΈΠ±ΡΠ΄Ρ Π½Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ Π½Π΅ Π·Π°ΠΊΠΎΠΏΠ°ΡΡΡΡ Π² Π½Π΅ΠΌ. ΠΠΎΡΠΎΠΌ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠΎ-Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΡΡΠΎΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Π½Π° Python 3.
Π ΠΏΠ΅ΡΠ²ΡΡ ΡΡΡΠΎΠΊΠ°Ρ ΡΠ°ΠΉΠ»Π° calculator.py ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ:
- Tkinter Π΄Π»Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°;
- Decimal Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Ρ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΠΎΡΠ½ΠΎΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠΎΡΠ½ΠΎΡΡΠΈ float Π½Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ.
ΠΠΌΠΏΠΎΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΒ β ΠΎΠ±ΡΠ΅ΠΊΡ Tk Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ Calculator. ΠΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΌ ΠΊΠΎΡΡΠ΅ΠΆΠ΅ buttons Π±ΡΠ΄ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΎΠΊ. Π ΡΠΏΠΈΡΠΎΠΊ stack Π±ΡΠ΄Π΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π²Π²Π΅Π΄Π΅Π½Π½ΡΠ΅ ΡΠΈΡΠ»Π° ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Π΄ΠΎ ΡΠΎΠ²Π΅ΡΡΠΈΡΡ. activeStr ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π½Π°Π±ΠΈΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°.
from tkinter import * from decimal import * root = Tk() root.title('Calculator') buttons = (('7', '8', '9', '/', '4'), ('4', '5', '6', '*', '4'), ('1', '2', '3', '-', '4'), ('0', '.', '=', '+', '4') ) activeStr = '' stack = []
ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°
Π€ΡΠ½ΠΊΡΠΈΡ calculate ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° stack ΠΎΠΏΠ΅ΡΠ°Π½Π΄Ρ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΊΠΎΡΠΎΡΡΡ Π½Π°Π΄ Π½ΠΈΠΌΠΈ Π½Π°Π΄ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² Π½Π°Π΄ΠΏΠΈΡΠΈ label. ΠΠΎΠ»ΡΡΠ°ΡΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΡΡΡΠΎΠΊΠΈ Π±ΡΠ΄Π΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° pop.
def calculate(): global stack global label result = 0 operand2 = Decimal(stack.pop()) operation = stack.pop() operand1 = Decimal(stack.pop()) if operation == '+': result = operand1 + operand2 if operation == '-': result = operand1 - operand2 if operation == '/': result = operand1 / operand2 if operation == '*': result = operand1 * operand2 label.configure(text=str(result))
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π°ΠΆΠ°ΡΠΈΡ
Π ΡΡΠ½ΠΊΡΠΈΠΈ click Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π°ΠΆΠ°ΡΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΡΠΈ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΅Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΡΠ΅ΠΊΡΡ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΠΉ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅, ΠΊΠΎΡΠΎΡΡΡ Π½Π°ΠΆΠ°Π»ΠΈ. Π₯ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ Ρ ΡΠ°Π½ΠΈΡΡ Π²Π²ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΡΠΌΠΎ Π² Π½Π°Π΄ΠΏΠΈΡΠΈ, Π° Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ. ΠΠΎ ΡΠ°ΠΊ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΈΠ·-Π·Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠ°Π±ΠΎΡΡ. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΡΠΈΡΠ°Π½ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΠΎΠ½ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² Π½Π°Π΄ΠΏΠΈΡΠΈ. ΠΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π½Π°ΡΠ°ΡΡ Π²Π²ΠΎΠ΄ΠΈΡΡ Π½ΠΎΠ²ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΠΎΠ½ΠΎ Π±Ρ Π΄ΠΎΠΏΠΈΡΡΠ²Π°Π»ΠΎ ΠΏΡΠ΅ΠΆΠ½ΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ.
Π ΡΠΏΠΈΡΠΊΠ΅ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Π΄Π»Ρ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡ Π±ΡΠ΄Π΅Ρ 3. ΠΠΎ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° pop, Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ 3 ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π²Π²Π΅Π΄Π΅Π½Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠ°ΡΡΠ΅ΡΠ° ΡΠΏΠΈΡΠΎΠΊ ΠΎΡΠΈΡΡΠΈΡΡΡ. ΠΠ°Π»Π΅Π΅ Π² Π½Π΅Π³ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, Π½Π° ΡΠ»ΡΡΠ°ΠΉ Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°ΠΆΠΌΠ΅Ρ Π½Π° ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΠ°Π·Ρ, Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ Π½ΠΎΠ²ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ.
def click(text): global activeStr global stack if text == 'CE': stack.clear() activeStr = '' label.configure(text='0') elif '0' <= text <= '9': activeStr += text label.configure(text=activeStr) elif text == '.': if activeStr.find('.') == -1: activeStr += text label.configure(text=activeStr) else: if len(stack) >= 2: stack.append(label['text']) calculate() stack.clear() stack.append(label['text']) activeStr = '' if text != '=': stack.append(text) else: if text != '=': stack.append(label['text']) stack.append(text) activeStr = '' label.configure(text='0')
ΠΠ½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄
Π’Π΅ΠΏΠ΅ΡΡ Π·Π°ΠΉΠΌΠ΅ΠΌΡΡ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅ΠΌ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ Π²ΠΈΠ΄Π° ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° ΠΈ Π·Π°Π΄Π°Π΄ΠΈΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½Π°Π΄ΠΏΠΈΡΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π½Π°Π±ΠΈΡΠ°Π΅ΠΌΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ². Π ΡΠΈΠΊΠ»Π΅ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΈ. Π Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ Π½Π°Π΄ΠΏΠΈΡΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΏΠ°ΠΊΠΎΠ²ΡΠΈΠΊΠ° grid. Π Π² Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠΈΠΊΠ» ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ mainloop.
label = Label(root, text='0', width=35) label.grid(row=0, column=0, columnspan=4, sticky="nsew") button = Button(root, text='CE', command=lambda text='CE': click(text)) button.grid(row=1, column=3, sticky="nsew") for row in range(4): for col in range(4): button = Button(root, text=buttons[row][col], command=lambda row=row, col=col: click(buttons[row][col])) button.grid(row=row + 2, column=col, sticky="nsew") root.grid_rowconfigure(6, weight=1) root.grid_columnconfigure(4, weight=1) root.mainloop()
Π£ Π½Π°Π΄ΠΏΠΈΡΠΈ Π²ΡΡΡΠ°Π²Π»Π΅Π½Π° ΡΠΈΡΠΈΠ½Π° 35, Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠΎΠ΄ΡΡΡΠ°ΠΈΠ²Π°Π»ΠΎΡΡ ΠΏΠΎΠ΄ Π½Π°Π΄ΠΏΠΈΡΡ. Π Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ Π»ΡΡΡΠ΅ Π²ΡΠ³Π»ΡΠ΄ΡΡ.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ, ΠΏΡΠΈΡΠ»ΠΎΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΊΠ½ΠΎΠΏΠΎΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ²ΠΎΡ ΡΡΠ½ΠΊΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ lambda.
Β
Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Π½Π° Python 3 Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ²
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
def main():
Β Β Β Β # ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅
Β Β Β Β print(«ΠΡΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Π½Π° Python»)
Β Β Β Β # ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ»
Β Β Β Β while True:
Β Β Β Β Β Β Β Β # ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π΅ΡΡΡ
Β Β Β Β Β Β Β Β print(«ΠΡΠ±Π΅ΡΠΈΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ΅ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ:\n»
Β Β Β Β Β Β Β Β Β Β Β Β Β Β «Π‘Π»ΠΎΠΆΠΈΡΡ: +\n»
Β Β Β Β Β Β Β Β Β Β Β Β Β Β «ΠΡΡΠ΅ΡΡΡ: -\n»
Β Β Β Β Β Β Β Β Β Β Β Β Β Β «Π£ΠΌΠ½ΠΎΠΆΠΈΡΡ: *\n»
Β Β Β Β Β Β Β Β Β Β Β Β Β Β «ΠΠΎΠ΄Π΅Π»ΠΈΡΡ: /\n»
Β Β Β Β Β Β Β Β Β Β Β Β Β Β «ΠΡΠΉΡΠΈ: q\n»)
Β Β Β Β Β Β Β Β # ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ
Β Β Β Β Β Β Β Β action = input(«ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅: «)
Β Β Β Β Β Β Β Β # ΠΡΠ»ΠΈ action ΡΠ°Π²Π΅Π½ q ΡΠΎ
Β Β Β Β Β Β Β Β if action == «q»:
Β Β Β Β Β Β Β Β Β Β Β Β # ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅
Β Β Β Β Β Β Β Β Β Β Β Β print(«ΠΡΡ ΠΎΠ΄ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ»)
Β Β Β Β Β Β Β Β Β Β Β Β # ΠΡΡ ΠΎΠ΄ΠΈΠΌ ΠΈΠ· ΡΠΈΠΊΠ»Π°
Β Β Β Β Β Β Β Β Β Β Β Β break
Β Β Β Β Β Β Β Β # ΠΡΠ»ΠΈ action ΡΠ°Π²Π΅Π½ +, -, *, /, ΡΠΎ
Β Β Β Β Β Β Β Β if action in (‘+’, ‘-‘, ‘*’, ‘/’):
Β Β Β Β Β Β Β Β Β Β Β Β # ΠΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ x
Β Β Β Β Β Β Β Β Β Β Β Β x = float(input(«x = «))
Β Β Β Β Β Β Β Β Β Β Β Β # ΠΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ y
Β Β Β Β Β Β Β Β Β Β Β Β y = float(input(«y = «))
Β Β Β Β Β Β Β Β Β Β Β Β # ΠΡΠ»ΠΈ action ΡΠ°Π²Π΅Π½ + ΡΠΎ
Β Β Β Β Β Β Β Β Β Β Β Β if action == ‘+’:
Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β # ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΡΠΌΠΌΡ x ΠΈ y
Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β print(‘%.2f + %.2f = %.2f’ % (x, y, x+y))
Β Β Β Β Β Β Β Β Β Β Β Β # ΠΡΠ»ΠΈ action ΡΠ°Π²Π΅Π½ — ΡΠΎ
Β Β Β Β Β Β Β Β Β Β Β Β elif action == ‘-‘:
Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β # ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠ°Π·Π½ΠΎΡΡΡ x ΠΈ y
Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β print(‘%.2f — %.2f = %.2f’ % (x, y, x-y))
Β Β Β Β Β Β Β Β Β Β Β Β # ΠΡΠ»ΠΈ action ΡΠ°Π²Π΅Π½ * ΡΠΎ
Β Β Β Β Β Β Β Β Β Β Β Β elif action == ‘*’:
Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β # ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ x Π½Π° y
Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β print(‘%.2f * %.2f = %.2f’ % (x, y, x*y))
Β Β Β Β Β Β Β Β Β Β Β Β # ΠΡΠ»ΠΈ action ΡΠ°Π²Π΅Π½ / ΡΠΎ
Β Β Β Β Β Β Β Β Β Β Β Β elif action == ‘/’:
Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β # ΠΡΠ»ΠΈ y Π½Π΅ ΡΠ°Π²Π΅Π½ Π½ΡΠ»Ρ ΡΠΎ
Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β if y != 0:
Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β # ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π΄Π΅Π»Π΅Π½ΠΈΡ x Π½Π° y
Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β print(‘%.2f / %.2f = %.2f’ % (x, y, x/y))
Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β else: # ΠΠ½Π°ΡΠ΅
Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β # ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ Π½Π° Π½ΠΎΠ»Ρ Π΄Π΅Π»ΠΈΡΡ Π½Π΅Π»ΡΠ·Ρ
Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β print(«ΠΠ΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ»Ρ!»)
Π¦ΠΈΠΊΠ» ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Π² Python 3
Π― Π½ΠΎΠ²ΠΈΡΠΎΠΊ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΠΈΠ·ΠΎ Π²ΡΠ΅Ρ ΡΠΈΠ» ΠΏΡΡΠ°ΡΡΡ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ Π½Π°ΡΠ°Π»Ρ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠ³ Π²ΡΠ±ΡΠ°ΡΡ Π΄ΡΡΠ³ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π― Π·Π½Π°Ρ, ΡΡΠΎ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΉ ΠΎΡΠ²Π΅Ρ-Π΄ΠΎΠ±Π°Π²ΠΈΡΡ while loop, Π½ΠΎ Ρ ΠΌΠ΅Π½Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΡΡΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ. Π― ΠΏΡΡΠ°Π»ΡΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ Π·Π° ΠΏΠΎΠΌΠΎΡΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΡΠΏΠΈΡΡ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ.
print('Python Calculator Program')
print(' MENU')
print('1)Add')
print('2)Subtract')
print('3)Multiply')
print('4)Divide')
print('5)Square Root')
print('6)Exit')
print('Enter Your Choice:')
operator=input('Choose a number 1 - 6: ')
while True:
if operator == '1' or operator == 'Add' or operator == 'add':
a=float(input('Enter the fist number that you wish to add: '))
b=float(input('Enter the second number that you wish to add: '))
ans=sum(a,b)
print('The sum of the numbers are: ', ans)
elif operator == '2' or operator == 'Subtract' or operator == 'subtract':
a=float(input('Enter the fist number that you wish to subtract: '))
b=float(input('Enter the second number that you wish to subtract: '))
ans=difference(a,b)
print('The difference of the numbers are: ', ans)
elif operator == '3' or operator == 'Multiply' or operator == 'multiply':
a=float(input('Enter the fist number that you wish to multiply: '))
b=float(input('Enter the second number that you wish to multiply: '))
ans=product(a,b)
print('The product of the numbers are: ', ans)
elif operator == '4' or operator == 'Divide' or operator == 'divide':
a=float(input('Enter the dividend: '))
b=float(input('Enter the divisor: '))
ans=quotient(a,b)
print('The quotient of the numbers are: ', ans)
elif operator == '5' or operator == 'Square Root' or operator == 'sqaure root':
a=float(input('Enter the number you wish to find the square root of: '))
ans=sqrt(a)
print('The square root of the number is: ', ans)
elif operator =='6':
print('CALCULATOR: ON [OFF]')
break
else:
print('Enter the math operator as dislayed')
operator=input('Choose an operator: ')
def sum(a,b):
return a+b
def difference(a,b):
return a-b
def product(a,b):
return a*b
def quotient(a,b):
return a/b
def sqrt(a):
import math
return(math.sqrt(a))
main()
python
loops
while-loop ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΠΡΡΠΎΡΠ½ΠΈΠΊ Ron Estrada Β Β 13 ΡΠ΅Π²ΡΠ°Π»Ρ 2019 Π² 20:10
3 ΠΎΡΠ²Π΅ΡΠ°
- ΠΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Π² Python ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ
Π― ΡΠΎΠ·Π΄Π°Π» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Π² Python, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Tkinter, ΠΈ ΠΎΠ½Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ; Π½ΠΎ ΠΊΠΎΠ³Π΄Π° Ρ Π·Π°ΠΏΡΡΠΊΠ°Ρ Π΅Π΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΆΠ°ΡΡ Π½Π° ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° Π² Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΌΠΎΠ΅Π³ΠΎ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° ΠΈ Π²Π²Π΅ΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Ρ. Π― Π½Π°ΠΏΠΈΡΠ°Π» ΠΊΠΎΠ΄ ΡΠ°ΠΊ, ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ°, Π½ΠΎ ΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ. Π―…
- Python ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
ΠΠ΅Π΄Π°Π²Π½ΠΎ Ρ ΠΌΠ΅Π½Ρ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ raspberry pi, ΠΈ Ρ ΡΡΡΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° python, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΅Π³ΠΎ. Π£ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠΆΠ΅ Π΅ΡΡΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ raspberry, ΠΈ Ρ ΠΊΠΎΠΏΠΈΡΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°, Π½ΠΎ ΠΎΠ½ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π²Ρ ΠΏΠΎΠΌΠΎΡΡ??? ΡΡΠΎ ΠΌΠΎΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ; username = raw_input(What is your name? ) print (Welcome to…
1
Π§ΡΠΎΠ±Ρ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° Π²Π°Ρ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΠΉ Π²ΠΎΠΏΡΠΎΡ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ Π·Π°ΠΏΡΠΎΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π΅Π»Π°Π΅Ρ ΡΠΈΠΊΠ», ΠΏΠΎΡΡΠΎΠΌΡ Π²Ρ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π·Π°ΠΏΡΠΎΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°. Π― Π·Π½Π°Ρ, ΡΡΠΎ Π²Ρ Π³ΠΎΠ²ΠΎΡΠΈΡΠ΅, ΡΡΠΎ Π²Ρ Π½ΠΎΠ²ΠΈΡΠΎΠΊ Π² ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ Π½Π°ΡΠ΅Π» Π²ΡΠ΅ΠΌΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²Π°Ρ ΠΊΠΎΠ΄ ΠΈ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ / ΠΏΡΠΎΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π΅ΡΠΈ, ΡΡΠΎΠ±Ρ, Π½Π°Π΄Π΅ΡΡΡ, ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ Π΄Π΅Π»Π°ΡΡ Π²Π΅ΡΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ
import math
def sum(a,b): return a+b
def difference(a,b): return a-b
def product(a,b): return a*b
def quotient(a,b): return a/b
def sqrt(a): return(math.sqrt(a))
def selectMenu():
print('Python Calculator Program')
print(' MENU')
print('1)Add')
print('2)Subtract')
print('3)Multiply')
print('4)Divide')
print('5)Square Root')
print('6)Exit')
print('Enter Your Choice:')
return input('Choose a number 1 - 6: ')
def main():
ans = "" #declare ans because if we try to see if ans == "" and ans doesnt exist, the
#program will crash
operator = "" # "" is not 6, therefore the while loop will run at least once
while operator != '6': #as long as the variable operator is not 6 // operator != '6'
#is your condition
operator = selectMenu() #this will get the user's choice
operation = "" #our placeholder for the operation string
if operator == '1' or operator.lower() == 'add': #.lower() will convert the
#entire string to lowercase, so
#that you dont have to test for
#caps
a=float(input('Enter the fist number that you wish to add: '))
b=float(input('Enter the second number that you wish to add: '))
operation = "sum"
ans= sum(a,b)
elif operator == '2' or operator.lower() == 'subtract':
a=float(input('Enter the fist number that you wish to subtract: '))
b=float(input('Enter the second number that you wish to subtract: '))
operation = "difference"
ans = difference(a, b)
elif operator == '3' or operator.lower() == 'multiply':
a=float(input('Enter the fist number that you wish to multiply: '))
b=float(input('Enter the second number that you wish to multiply: '))
operation = "product"
ans=product(a,b)
elif operator == '4' or operator.lower() == 'divide':
a=float(input('Enter the dividend: '))
b=float(input('Enter the divisor: '))
operation = "quotient"
ans=quotient(a,b)
elif operator == '5' or operator.lower() == 'square root':
a=float(input('Enter the number you wish to find the square root of: '))
operation = "square root"
ans=sqrt(a)
elif operator =='6':
print('CALCULATOR: ON [OFF]')
operation = ""
ans = ""
#break // while break technically works, its a bad habit to get in to. your
#loops should naturally terminate themselves by causing the condition to
#become false
else:
print('Enter the math operator as displayed')
if ans != "": # since we're always gonna print the answer no matter what
#they pick, its easier to do it after your if statements.
print() #print empty lines for spacing
print("The ", operation, " is: ", ans)
print()
main()
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Grimmpier Β Β 13 ΡΠ΅Π²ΡΠ°Π»Ρ 2019 Π² 21:06
1
Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π²Π°Ρ ΠΎΡΡΡΡΠΏ ΠΊΠΎΠ΄Π° ΠΎΡΠΊΠ»ΡΡΠ΅Π½ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΅, Π½ΠΎ Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ Π²Ρ ΠΏΡΠΎΡΡΠΎ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠΏΡΠΎΡΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²Π΅ΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΈΠΊΠ», ΠΈ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΡΠ²ΠΎΡ ΡΡΡΠΎΠΊΡ ΠΊΠΎΠ΄Π°
while True:
operator=input('Choose a number 1 - 6: ')
if operator == '1' or operator == 'Add' or operator == 'add':
..... # all your other code
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Reedinationer Β Β 13 ΡΠ΅Π²ΡΠ°Π»Ρ 2019 Π² 20:18
0
Π£ ΠΌΠ΅Π½Ρ Π±ΡΠ» ΠΊΠΎΠ΄, ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠΈΠΉ Π½Π° ΡΠΎΡ, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ΅Π½. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π²Ρ Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΠ»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ
import math
def isfloat(value):
"""
Checks if the given value represent float
:param value:
:return: True if float
"""
try:
float(value)
return True
except:
return False
def chooseOperator(input):
# Returns a method to run
return {
'1': oneAdd,
'add': oneAdd,
'2': twoDif,
'subtract': twoDif,
'3': threeMult,
'multiply': threeMult,
'4': fourDiv,
'divide': fourDiv,
'5': fiveSqrt,
'sqaure root': fiveSqrt,
'6': sixExit,
'exit': sixExit
}[input]
def printMenu():
print('\n\t-- MENU --')
print('1)\t Add')
print('2)\t Subtract')
print('3)\t Multiply')
print('4)\t Divide')
print('5)\t Square Root')
print('6)\t Exit')
def mainLoop():
inputFromUser = True
print('\n\n** Python Calculator Program **')
print('CALCULATOR: [ON] OFF')
while inputFromUser:
# Prints the menu to the console
printMenu()
try:
# operator is a function
operator = chooseOperator((input('Choose an operator: ')).lower())
# inputFromUser is a boolean variable
inputFromUser = operator()
except KeyError:
# Unknown input
print('\n\t Please choose an operator from the menu')
def oneAdd():
# Get input from user
a = input('Enter the first number that you wish to add: ')
b = input('Enter the second number that you wish to add: ')
# Check that the input is valid
if isfloat(a) and isfloat(b):
# Calculate with values
ans = float(a) + float(b)
print('The sum of the numbers are: ', ans)
else:
# Notify the user that the values are not valid
print("\tInvalid values:")
print("\t\tfirst = ", a)
print("\t\tsecond = ", b)
return True
def twoDif():
# Get input from user
a = input('Enter the first number that you wish to subtract: ')
b = input('Enter the second number that you wish to subtract: ')
# Check that the input is valid
if isfloat(a) and isfloat(b):
# Calculate with values
ans = float(a) - float(b)
print('The difference of the numbers are: ', ans)
else:
# Notify the user that the values are not valid
print("\tInvalid values:")
print("\t\tfirst = ", a)
print("\t\tsecond = ", b)
return True
def threeMult():
# Get input from user
a = input('Enter the first number that you wish to multiply: ')
b = input('Enter the second number that you wish to multiply: ')
# Check that the input is valid
if isfloat(a) and isfloat(b):
# Calculate with values
ans = float(a) * float(b)
print('The product of the numbers are: ', ans)
else:
# Notify the user that the values are not valid
print("\tInvalid values:")
print("\t\tfirst = ", a)
print("\t\tsecond = ", b)
return True
def fourDiv():
# Get input from user
a = input('Enter the dividend: ')
b = input('Enter the divisor: ')
# Check that the input is valid
if isfloat(a) and isfloat(b):
# Calculate with values
ans = float(a) / float(b)
print('The quotient of the numbers are: ', ans)
else:
# Notify the user that the values are not valid
print("\tInvalid values:")
print("\t\tfirst = ", a)
print("\t\tsecond = ", b)
return True
def fiveSqrt():
# Get input from user
a = input('Enter the number you wish to find the square root of: ')
# Check that the input is valid
if isfloat(a):
# Calculate with values
ans = math.sqrt(float(a))
print('The square root of the number is: ', ans)
else:
# Notify the user that the values are not valid
print("\tInvalid value:")
print("\t\tfirst = ", a)
return True
def sixExit():
print('\n\nCALCULATOR: ON [OFF]')
return False
if __name__ == '__main__':
mainLoop()
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Yonatan Zax Β Β 13 ΡΠ΅Π²ΡΠ°Π»Ρ 2019 Π² 21:24
- ΠΠ°Π·ΠΎΠ²Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ Python
loop = 1 choice = 0 #holds the user choice for menu while (loop == 1): print (Welcome to calci.py) print (your options are:) print ( ) print (1. Addition) print (2. Subtraction) print (3. Multiplication) print (4. Division) print (5. Quit calculator.py) print ( ) choice = input(Choose your option:…
- ΠΡΠΏΡΡΠΊ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° ΡΠ°Π΅Π²ΡΡ
ΠΏΡΡΠ°ΡΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ python Π΄Π»Ρ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° ΡΠ°Π΅Π²ΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅ΡΠ²ΠΈΡΠ°, Ρ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Ρ ΠΌΠΎΠΈΠΌ while loop. service = while service != excellent or service != good or service != bad: service = input((Please choose excellent, good, or bad): ) ΠΡΠ° ΡΠ°ΡΡΡ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ», Π½ΠΎ Ρ Π½Π΅…
ΠΠΎΡ ΠΎΠΆΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ:
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Π² python
ΠΠΎΡΡΠΎΠΌΡ Ρ ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΊΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Π² python, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠ°Π» ΡΡΠΈΡΡΡΡ. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ Π²ΡΠ΅Π³Π΄Π° Π³ΠΎΠ²ΠΎΡΠΈΡ, ΡΡΠΎ Ρ Π²Π²ΠΎΠΆΡ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ, ΠΏΡΠΎΡ ΠΎΠ΄Ρ…
ΠΠ°Π·ΠΎΠ²Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Π² python
Π― ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π» ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΊΡΠΈΠΏΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Π² python, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, python Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°ΡΡ Π·Π½Π°ΠΊ ( — ) ΠΌΠΈΠ½ΡΡ, (*) ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅, (/) Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π½ΠΎ ΠΏΡΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° ΠΎΠ½ Π½Π΅…
Π¦ΠΈΠΊΠ» ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Π² Python
ΠΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΈΠΊΠ» Π² ΠΌΠΎΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ, ΠΏΠΎΠΌΠ΅ΡΡΠΈΠ² ΠΊΠΎΠ΄ Π² while loop Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ, ΡΡΠΎ Π²Π²ΠΎΠ΄ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ‘y’ ΠΈΠ»ΠΈ ‘Y’. def…
ΠΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Π² Python ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ
Π― ΡΠΎΠ·Π΄Π°Π» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Π² Python, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Tkinter, ΠΈ ΠΎΠ½Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ; Π½ΠΎ ΠΊΠΎΠ³Π΄Π° Ρ Π·Π°ΠΏΡΡΠΊΠ°Ρ Π΅Π΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΆΠ°ΡΡ Π½Π° ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° Π² Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΌΠΎΠ΅Π³ΠΎ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° ΠΈ Π²Π²Π΅ΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Ρ. Π―…
Python ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
ΠΠ΅Π΄Π°Π²Π½ΠΎ Ρ ΠΌΠ΅Π½Ρ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ raspberry pi, ΠΈ Ρ ΡΡΡΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° python, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΅Π³ΠΎ. Π£ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠΆΠ΅ Π΅ΡΡΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ raspberry, ΠΈ Ρ ΠΊΠΎΠΏΠΈΡΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°, Π½ΠΎ ΠΎΠ½ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π½Π΅…
ΠΠ°Π·ΠΎΠ²Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ Python
loop = 1 choice = 0 #holds the user choice for menu while (loop == 1): print (Welcome to calci.py) print (your options are:) print ( ) print (1. Addition) print (2. Subtraction) print (3….
ΠΡΠΏΡΡΠΊ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° ΡΠ°Π΅Π²ΡΡ
ΠΏΡΡΠ°ΡΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ python Π΄Π»Ρ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° ΡΠ°Π΅Π²ΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅ΡΠ²ΠΈΡΠ°, Ρ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Ρ ΠΌΠΎΠΈΠΌ while loop. service = while service != excellent or service != good or service != bad: service…
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅ΠΆΠΈΠΌ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°?
Π― Π½Π΅ Π·Π½Π°Ρ ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ ΡΠ΅ΠΆΠΈΠΌΠ° ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Π² Python, ΠΈ Ρ ΠΏΠΎΠΌΠ΅ΡΡΠΈΠ» ΡΠ°ΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½ΠΈΠΆΠ΅. ΠΡΠ»ΠΈ Π²Ρ Π²ΡΠΉΠ΄Π΅ΡΠ΅ ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° Python ΠΈ ΡΠ½ΠΎΠ²Π° Π²ΠΎΠΉΠ΄Π΅ΡΠ΅ Π² Π½Π΅Π³ΠΎ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π²Π°ΠΌΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ (ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ…
python 3 Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Ρ ΠΏΠΎΠ»ΡΡΠ°Ρ ΠΎΡΠΈΠ±ΠΊΡ ΡΠΈΠΏΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π³ΠΎΠ²ΠΎΡΠΈΡ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ pow() Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΡΠΎΠΊΠΈ ΠΈΠ»ΠΈ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π°? Π― ΡΠ»Π΅Π΄ΡΡ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΌΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π΄Π»Ρ ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° Ρ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ°…
Π‘Π°ΠΌΠ°Ρ ΠΊΠΎΡΠΎΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Π² python Π³ΠΎΠ΄Ρ
Π― Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π½ΠΎΠ²ΠΈΡΠΎΠΊ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ python. Π― ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅Π» ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄ΠΎΠ² ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° python ΠΎΠ½Π»Π°ΠΉΠ½ ΠΈ Π·Π°Π΄Π°Π²Π°Π»ΡΡ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ, Π΅ΡΡΡ Π»ΠΈ ΡΠΏΠΎΡΠΎΠ± Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ…
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Π Python
ΠΠΎΡΡΠΎΠΌΡ Ρ Π½ΠΎΠ²ΠΈΡΠΎΠΊ Π² Python, ΠΈ ΠΏΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ, Π½Π°Π΄ ΠΊΠΎΡΠΎΡΡΠΌ Ρ Π½Π°ΡΠ°Π» ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π±ΡΠ» ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ. ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ°ΡΡΡ ΠΌΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π° Π½Π° ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ Π²Π²ΠΎΠ΄Π°ΠΌ, Π½ΠΎ Ρ ΠΏΡΡΠ°Π»ΡΡ Π²ΡΡΡΠ½ΠΈΡΡ, Π΅ΡΡΡ Π»ΠΈ ΡΠΏΠΎΡΠΎΠ± Π΄ΠΎΠ±Π°Π²ΠΈΡΡ/Π²ΡΡΠ΅ΡΡΡ/ΡΠ°Π·ΠΌΠ½ΠΎΠΆΠΈΡΡ/Π΄Π΅Π»ΠΈΡΡ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ Π΄Π²Π° ΡΠΈΡΠ»Π°. ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ ΡΠΎΠΌΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ±ΡΠ°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π½ΠΎΠΌΠ΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ΠΈ Ρ ΠΎΡΠ΅Π»ΠΈ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΠΈΡ Π² ΡΠ°ΡΡΠ΅Ρ. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Ρ ΠΏΡΠΎΡΡΠΎ ΠΈΡΡ Π»ΡΠ±ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ, Π΄Π°ΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π²Π΅ΡΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π·Π°ΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ Π΄ΠΈΡΡΠ΅ΡΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΏΡΠΎΡΠ΅Π΅. ΠΡΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ?
def add(num1, num2):
return num1 + num2
def sub(num1, num2):
return num1 - num2
def mult(num1, num2):
return num1 * num2
def div(num1, num2):
return num1 / num2
def main():
operation = raw_input('\n' "What do you want to do? (+, -, *, /): ")
if (operation != '+' and operation != '-' and operation != '*' and operation != '/'):
print("Please enter a valid operation")
else:
while True:
try:
var1 = float(raw_input("Enter num1: "))
var2 = float(raw_input("Enter num2: "))
except ValueError:
print('\n' "Please enter numbers only")
continue
else:
break
print('\n' "The answer is:")
if(operation == '+'):
print(add(var1, var2))
if(operation == '-'):
print(sub(var1, var2))
if(operation == '*'):
print(mult(var1, var2))
if(operation == '/'):
try:
print(div(var1, var2))
except ZeroDivisionError:
print("Infinity!")
while True:
main()
ΠΡΠ²ΠΎΠ΄:
Π§ΡΠΎ ΡΡ Ρ ΠΎΡΠ΅ΡΡ Π΄Π΅Π»Π°ΡΡ? (+, -, *,/): +
ΠΠ²Π΅Π΄ΠΈΡΠ΅ num1: 6
ΠΠ²Π΅Π΄ΠΈΡΠ΅ num2: 4
ΠΡΠ²Π΅Ρ:
10,0
Π§ΡΠΎ ΡΡ Ρ ΠΎΡΠ΅ΡΡ Π΄Π΅Π»Π°ΡΡ? (+, -, *,/): r
ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ
Π§ΡΠΎ ΡΡ Ρ ΠΎΡΠ΅ΡΡ Π΄Π΅Π»Π°ΡΡ? (+, -,/):
ΠΠ²Π΅Π΄ΠΈΡΠ΅ num1: 1
ΠΠ²Π΅Π΄ΠΈΡΠ΅ num2: e
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΡΡ
ΠΠ²Π΅Π΄ΠΈΡΠ΅ num1: t
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΡΡ
ΠΠ²Π΅Π΄ΠΈΡΠ΅ num1: 2.345
ΠΠ²Π΅Π΄ΠΈΡΠ΅ num2: 4.67
ΠΡΠ²Π΅Ρ:
10,95115
Π§ΡΠΎ ΡΡ Ρ ΠΎΡΠ΅ΡΡ Π΄Π΅Π»Π°ΡΡ? (+, -, *,/): /
ΠΠ²Π΅Π΄ΠΈΡΠ΅ num1: 4
ΠΠ²Π΅Π΄ΠΈΡΠ΅ num2: 0
ΠΡΠ²Π΅Ρ:
ΠΠ΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΡΡΡ!
Π§ΡΠΎ ΡΡ Ρ ΠΎΡΠ΅ΡΡ Π΄Π΅Π»Π°ΡΡ? (+, -, *,/):
ΠΠ°Π·ΠΎΠ²Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Python
Β
Β
def
add(num1, num2):
Β Β Β Β
return
num1
+
num2
Β
Β
def
subtract(num1, num2):
Β Β Β Β
return
num1
-
num2
Β
Β
def
multiply(num1, num2):
Β Β Β Β
return
num1
*
num2
Β
Β
def
divide(num1, num2):
Β Β Β Β
return
num1
/
num2
Β
Β
print
(
"Please select operation -\n"
\
Β Β Β Β Β Β Β Β
"1. Add\n"
\
Β Β Β Β Β Β Β Β
"2. Subtract\n"
\
Β Β Β Β Β Β Β Β
"3. Multiply\n"
\
Β Β Β Β Β Β Β Β
"4. Divide\n"
)
Β
Β
Β
Β
select
=
input
(
"Select operations form 1, 2, 3, 4 :"
)
Β
Β
number_1
=
int
(
input
(
"Enter first number: "
))
number_2
=
int
(
input
(
"Enter second number: "
))
Β
Β
if
select
=
=
'1'
:
Β Β Β Β
print
(number_1,
"+"
, number_2,
"="
,
Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β
add(number_1, number_2))
Β
Β
elif
select
=
=
'2'
:
Β Β Β Β
print
(number_1,
"-"
, number_2,
"="
,
Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β
subtract(number_1, number_2))
Β
Β
elif
select
=
=
'3'
:
Β Β Β Β
print
(number_1,
"*"
, number_2,
"="
,
Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β
multiply(number_1, number_2))
Β
Β
elif
select
=
=
'4'
:
Β Β Β Β
print
(number_1,
"/"
, number_2,
"="
,
Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β
divide(number_1, number_2))
else
:
Β Β Β Β
print
(
"Invalid input"
)
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Π½Π° ΠΠΈΡΠΎΠ½Π΅?
ΠΡΠ΅ΠΌ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ Ρ ΠΎΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π²Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΡΡΡΠ° ΠΏΠΎ ΡΠ·ΡΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠ΅Π±Ρ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ΅Π³ΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ. ΠΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌ Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈ ΠΈΡΠΏΡΡΠ°ΡΡ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ ΡΠ°ΠΌΡΠΉ Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π·Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠ½ΡΡ Π½Π° Π―Π ΠΠΈΡΠΎΠ½.
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΠΈΠ· ΡΡΡΠΎΠΊΠΈ Π²Π²ΠΎΠ΄Π° ΡΡΠΈ ΡΡΡΠΎΠΊΠΈ: 1-ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, 2-ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΊ Π²Π²Π΅Π΄ΡΠ½Π½ΡΠΌ ΡΠΈΡΠ»Π°ΠΌ («ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ» «ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ» «Π²ΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ»), Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π° ΡΠΊΡΠ°Π½.
ΠΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ: +, -, /, *, mod, pow, div
,Π³Π΄Π΅
- mod β ΡΡΠΎ Π²Π·ΡΡΠΈΠ΅ ΠΎΡΡΠ°ΡΠΊΠ° ΠΎΡ Π΄Π΅Π»Π΅Π½ΠΈΡ,
- pow β Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΡΠ΅ΠΏΠ΅Π½Ρ,
- div β ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π΄Π΅Π»Π΅Π½ΠΈΠ΅.
ΠΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ Π²ΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ°Π²Π½ΠΎ 0, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΡΡΠΎΠΊΡ «ΠΠ΅Π»Π΅Π½ΠΈΠ΅ Π½Π° 0!».
ΠΠ° Π²Ρ ΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π°Π²Π°ΡΡ Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠΈΡΠ»Π°!
ΠΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ
x=float(input("ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ x ="))
y=float(input("ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ y ="))
z=input("ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ (+, -, /, *, mod, pow, div) =")
if z==+:
result=x+y
elif z==-:
result=x-y
elif z==pow:
result=pow(x,y)
elif z==*:
result=x*y
elif y!=0:
if z==/:
result=x/y
elif z==div:
result=x//y
elif z==mod:
result=x%y
elif y==0:
result="ΠΠ΅Π»Π΅Π½ΠΈΠ΅ Π½Π° 0!"
print("Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ =",result)
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ΄ΡΡΠΎΠ²Π½Ρ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½Π° ΡΠ΅ΠΌ, ΡΡΠΎ Π²ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ»Π° ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ, Π΅ΡΠ»ΠΈ Π²ΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ Π½ΡΠ»Ρ.
ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°, Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° Π²ΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ°Π²Π½ΠΎ Π½ΡΠ»Ρ Π·Π°ΠΏΠΈΡΠ°Π½ΠΎ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΡΡΡΠΎΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
elif y==0:
result="ΠΠ΅Π»Π΅Π½ΠΈΠ΅ Π½Π° 0!"
ΠΡΠΈΠΌΠ΅ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
Python 3.5.2 (default, Dec 2015, 13:05:11)
[GCC 4.8.2] on linuxΠΠ²Π΅Π΄ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ x = 12
ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ y = 12
ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ (+, -, /, *, mod, pow, div) = pow
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ = 8916100448256
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ³ΡΡ Π½Π° ΠΠΈΡΠΎΠ½Π΅. Β«Π£Π³Π°Π΄Π°ΠΉ ΡΠΈΡΠ»ΠΎΒ»
ΠΠ°Π·ΠΎΠ²Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Python
ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
Π΄ΠΎΠ±Π°Π²ΠΈΡΡ (ΡΠΈΡΠ»ΠΎ1, ΡΠΈΡΠ»ΠΎ2):
Π²ΠΎΠ·Π²ΡΠ°Ρ
ΡΠΈΡΠ»ΠΎ1
+
ΡΠΈΡΠ»ΠΎ2
ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅ (ΡΠΈΡΠ»ΠΎ1, ΡΠΈΡΠ»ΠΎ2):
Π²ΠΎΠ·Π²ΡΠ°Ρ
ΡΠΈΡΠ»ΠΎ1
-
ΡΠΈΡΠ»ΠΎ2
ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
ΡΠΌΠ½ΠΎΠΆΠΈΡΡ (ΡΠΈΡΠ»ΠΎ1, ΡΠΈΡΠ»ΠΎ2):
Π²ΠΎΠ·Π²ΡΠ°Ρ
ΡΠΈΡΠ»ΠΎ1
*
ΡΠΈΡΠ»ΠΎ2
ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
Π΄Π΅Π»Π΅Π½ΠΈΠ΅ (ΡΠΈΡΠ»ΠΎ1, ΡΠΈΡΠ»ΠΎ2):
Π²ΠΎΠ·Π²ΡΠ°Ρ
ΡΠΈΡΠ»ΠΎ1
/
ΡΠΈΡΠ»ΠΎ2
ΠΏΠ΅ΡΠ°ΡΡ
(
"ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ - \ n"
\
"1.ΠΠΎΠ±Π°Π²ΠΈΡΡ \ n "
\
"2. ΠΡΡΠ΅ΡΡΡ \ n"
\
"3. Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ \ n"
\
"4. Π Π°Π·Π΄Π΅Π»ΠΈΡΡ \ n"
)
Π²ΡΠ±ΠΎΡ
=
int
(
Π²Ρ
ΠΎΠ΄
(
"ΠΡΠ±ΠΎΡ ΡΠΎΡΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ 1, 2, 3, 4:"
))
ΡΠΈΡΠ»ΠΎ_1
=
int
(
Π²Π²ΠΎΠ΄
(
"ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ:"
))
ΡΠΈΡΠ»ΠΎ_2
=
int
(
Π²Π²ΠΎΠ΄
(
"ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π²ΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ:"
))
Π΅ΡΠ»ΠΈ
Π²ΡΠ±Π΅ΡΠΈΡΠ΅
=
=
1
:
ΠΏΠ΅ΡΠ°ΡΡ
(ΡΠΈΡΠ»ΠΎ_1,
"+"
, ΡΠΈΡΠ»ΠΎ_2,
"="
,
Π΄ΠΎΠ±. (Π§ΠΈΡΠ»ΠΎ_1, ΡΠΈΡΠ»ΠΎ_2))
elif
Π²ΡΠ±Π΅ΡΠΈΡΠ΅
=
=
2
:
ΠΏΠ΅ΡΠ°ΡΡ
(ΡΠΈΡΠ»ΠΎ_1,
"-"
, ΡΠΈΡΠ»ΠΎ_2,
"="
,
Π²ΡΡΠ΅ΡΡΡ (ΡΠΈΡΠ»ΠΎ_1, ΡΠΈΡΠ»ΠΎ_2))
elif
Π²ΡΠ±Π΅ΡΠΈΡΠ΅
=
=
3
:
ΠΏΠ΅ΡΠ°ΡΡ
(ΡΠΈΡΠ»ΠΎ_1,
"*"
, ΡΠΈΡΠ»ΠΎ_2,
"="
,
ΡΠΌΠ½ΠΎΠΆΠΈΡΡ (ΡΠΈΡΠ»ΠΎ_1, ΡΠΈΡΠ»ΠΎ_2))
elif
Π²ΡΠ±Π΅ΡΠΈΡΠ΅
=
=
4
:
ΠΏΠ΅ΡΠ°ΡΡ
(ΡΠΈΡΠ»ΠΎ_1,
"/"
, ΡΠΈΡΠ»ΠΎ_2,
"="
,
ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ (ΡΠΈΡΠ»ΠΎ_1, ΡΠΈΡΠ»ΠΎ_2))
Π΅ΡΠ΅
:
ΠΏΠ΅ΡΠ°ΡΡ
(
Β«ΠΠ΅Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π²Π²ΠΎΠ΄Β»
)
3 ΡΠΏΠΎΡΠΎΠ±Π° Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Π½Π° Python | ΠΠΆΠ΅ΠΉΠΌΠΈ ΠΠ°Π»Π»ΠΎΠΊ
ΠΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΡ Python: Ρ ΠΎΡΠΎΡΠ΅Π΅ ΠΈ ΠΏΠ»ΠΎΡ ΠΎΠ΅.ΠΈ ΡΡΠΎΠ΄Π»ΠΈΠ²ΡΠΉ
Π€ΠΎΡΠΎ StellrWeb Π½Π° UnsplashΠΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΠ°ΠΎ Python, Π΄Π»Ρ Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ:
ΠΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΠ΄ΠΈΠ½ — ΠΈ ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ — ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ
ΠΠ΄Π½Π°ΠΊΠΎ Π² ΡΠ»ΡΡΠ°Π΅ Π§ΡΠΎΠ±Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ-ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ, Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ. ΠΠ°ΠΊΠΎΠΉ ΠΈΠ· Π½ΠΈΡ Β«Π»ΡΡΡΠΈΠΉΒ», Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΡΠΎΠ±ΠΈΡΠ°ΡΡΡ ΠΎΠ±ΡΡΠ΄ΠΈΡΡ ΡΡΠΈ ΠΎΠ±ΡΠΈΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠΈΠ»ΡΠ½ΡΠ΅ ΠΈ ΡΠ»Π°Π±ΡΠ΅ ΡΡΠΎΡΠΎΠ½Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ .
Π Π΅ΡΠ΅Π½ΠΈΠ΅ 1. Π£ΡΠ»ΠΎΠ²Π½ΠΎΠ΅ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅
Π― ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π±Ρ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π» Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ Β«ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΉΒ» ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Π½Π° Python, ΡΡΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ°Π³ΠΈ:
- Π‘ΠΏΡΠΎΡΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎ Π²Π²ΠΎΠ΄Π΅
- Π£ΡΠ»ΠΎΠ²Π½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°
- ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ°ΡΡΠ΅Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°
- Π Π°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ
ΠΠΎΠ΄ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ :
Π ΡΡΠΎΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π΅ Π½Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ ΠΏΠ»ΠΎΡ ΠΎΠ³ΠΎ, ΠΈ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΅Π³ΠΎ Π²Π°ΡΠΈΠ°ΡΠΈΠΈ.ΠΠΎ ΠΊ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ½Π΅ΡΡΠΈ:
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΠ΅Π³ΠΎ Π²Ρ ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ Π΄ΠΎΡΡΠΈΡΡ, ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π»ΡΡΡΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΠΎΡ ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠΎΠ΄.
Π Π΅ΡΠ΅Π½ΠΈΠ΅ 2: eval ()
ΠΡΡΠ³ΠΎΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ — ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π² Python ΡΡΠ½ΠΊΡΠΈΡ eval () .
eval
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ Π»ΡΠ±ΡΡ ΡΡΡΠΎΠΊΡ ΠΊΠ°ΠΊ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Python. ΠΡΠΎ Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΠΌΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠ΄ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΎ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ Π΄ΠΎ:
calc = input ("Π Π°ΡΡΠ΅Ρ ΡΠΈΠΏΠ°: \ n")print ("ΠΡΠ²Π΅Ρ:" + str (eval (calc)))
eval ()
ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ 1:
- ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,Π³ΡΠ°ΠΌΠΌ.
1 + 2-3 * 4
) Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ - ΠΠ½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ΅Π½ΡΡΠ΅ ΠΊΠΎΠ΄Π°
ΠΠΎΡ ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠΎΠ΄.
eval
ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Β«ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌΒ», Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π΅Π³ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ Π½Π° ΡΠ²ΠΎΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π΅Π½ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π΅Π½. ΠΠ΄Π½Π°ΠΊΠΎ Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΡΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅. ΠΡΠΈΡΠΈΠ½Π° Π² ΡΠΎΠΌ, ΡΡΠΎ eval
ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Python, ΠΏΠΎΡΡΠΎΠΌΡ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΡΡ
ΡΠ΅Π»ΡΡ
.
Π₯ΠΎΡΠΎΡΡΡ ΡΡΠ°ΡΡΡ ΠΎ ΡΠΈΡΠΊΠ°Ρ
Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ eval
ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π·Π΄Π΅ΡΡ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅ 3. ΠΠΎΠΈΡΠΊ ΠΏΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΈ ΡΠ΅ΠΊΡΡΡΠΈΡ
Π ΡΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Python ΠΌΡ ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ 1:
- ΠΠΎΠΈΡΠΊ ΠΏΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ. ΠΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΡΡΠΌ, ΡΠΈΡΠ°Π΅ΠΌΡΠΌ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΡΠΌ.
- ΠΠΎΠ΄ΡΠ»Ρ Python
operator
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π°ΡΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ. - Π Π΅ΠΊΡΡΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ (Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²ΠΎΠΈΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ)
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΊΠΎΠ΄ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π΅Π½, ΡΠ΅ΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ 1, ΠΈ Π±ΠΎΠ»Π΅Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ΅Π½, ΡΠ΅ΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ 2.
ΠΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ ΡΠ°ΠΊΠΎΠ²: ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΡΡΡΠΎΠΊΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 1 + 2 * 3), Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ calculate ()
Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ Π² ΡΠ»ΠΎΠ²Π°ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ²
, ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠ°Π·Π΄Π΅Π» ΡΡΡΠΎΠΊΠΈ. ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°. Π ΡΠ»ΡΡΠ°Π΅ 1 + 2 * 3
ΡΡΠΎ Π΄Π°ΡΡ Π½Π°ΠΌ:
left = '1'
operator = '+'
right = '2 * 3'
calculate ()
Π·Π°ΡΠ΅ΠΌ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ Π½Π° ΠΏΠΎΠ΄Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄ΠΎ Ρ.isdigit ()
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΡΡΠΈΠ½Ρ. ΠΡΠ°ΠΊ, Π² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½Π°Ρ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ Π²ΡΠ·ΠΎΠ² Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ['+'] (Π²ΡΡΠΈΡΠ»ΠΈΡΡ ('1'), Π²ΡΡΠΈΡΠ»ΠΈΡΡ ('2 * 3'))
Π§ΡΠΎ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ:
return add (1, 6)
ΠΡΠ»ΠΈ Π±Ρ Ρ ΠΏΠΈΡΠ°Π» Β«ΡΠ΅Π°Π»ΡΠ½ΡΠΉΒ» ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Π½Π° Python, Ρ Π±Ρ Π²Π·ΡΠ» ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ ΡΡΠΎΠ³ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠΏΡΠ°Π²Π½ΠΎΠΉ ΡΠΎΡΠΊΠΈ.
ΠΠΎΡ ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠΎΠ΄.
ΠΠΎΠ½ΡΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅: ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ!
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Β«Π±ΠΎΠ½ΡΡΠ½ΡΠΉΒ» ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΌΠΎΠΉ Π»ΡΠ±ΠΈΠΌΡΠΉ - ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ.ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Python Β«Π½Π°ΠΏΡΡΠΌΡΡΒ» ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ , Π½Π΅ ΠΎΡΠΊΡΡΠ²Π°Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Python .
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ:
pip install e
ΠΠ°ΡΠ΅ΠΌ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ:
$ python -me 1 + 1
2 $ python -me "10 * 5 - (6 ** 2) + 6 / 3 "
16
ΠΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ!
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Π½Π° Python - AskPython
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python- ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΉ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΠΈΠ·ΡΡΠΈΠΌ ΠΏΡΠΎΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ-ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π½Π° Python 3.
Π Π½Π°ΡΠ΅ΠΌ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°.
ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
Π ΡΠΈΡΡΠ΅ΠΌΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Python 3 Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΈ Π½Π° Π½Π΅ΠΌ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π½Π°ΡΡΡΠΎΠ΅Π½Π° ΡΡΠ΅Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠΈΠ½ΡΡΡ / Π·Π°ΠΏΡΠΎΡΠΈΡΡ Π²Π²ΠΎΠ΄ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
ΠΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π²Π²ΠΎΠ΄ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ»Ρ ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Python input (). Π ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΌΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ Π΄Π²Π° ΡΠΈΡΠ»Π°, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π°Π²Π°ΠΉΡΠ΅ Π²ΠΎΠ·ΡΠΌΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ Π΄Π²ΡΡ ΡΠΈΡΠ΅Π».
num_1 = input ('ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ:') num_2 = input ('ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π²ΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ:')
ΠΡΡ ΠΎΠ΄ :
ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ: 10 ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ²ΠΎΠΉ Π²ΡΠΎΡΠΎΠΉ Π½ΠΎΠΌΠ΅Ρ: 5
ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠ΅ΡΠ΅Π΄ Π΅Π΅ Π·Π°ΠΏΡΡΠΊΠΎΠΌ. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²Π²ΠΎΠ΄ΠΈΡΡ ΡΠ΅ΠΊΡΡ Π² ΠΎΠΊΠ½Π΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° Π² ΠΎΡΠ²Π΅Ρ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ²
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² Π½Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° ΡΠ°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΠΊΠ°ΠΊ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅.
num_1 = int (input ('ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ:')) num_2 = int (input ('ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π²ΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ:')) # ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ print ('{} + {} =' .format (ΡΠΈΡΠ»ΠΎ_1, ΡΠΈΡΠ»ΠΎ_2)) ΠΏΠ΅ΡΠ°ΡΡ (ΡΠΈΡΠ»ΠΎ_1 + ΡΠΈΡΠ»ΠΎ_2) # ΠΡΡΠΈΡΠ°Π½ΠΈΠ΅ print ('{} - {} =' .format (ΡΠΈΡΠ»ΠΎ_1, ΡΠΈΡΠ»ΠΎ_2)) ΠΏΠ΅ΡΠ°ΡΡ (ΡΠΈΡΠ»ΠΎ_1 - ΡΠΈΡΠ»ΠΎ_2) # Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ print ('{} * {} =' .format (ΡΠΈΡΠ»ΠΎ_1, ΡΠΈΡΠ»ΠΎ_2)) ΠΏΠ΅ΡΠ°ΡΡ (ΡΠΈΡΠ»ΠΎ_1 * ΡΠΈΡΠ»ΠΎ_2) # Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ print ('{} / {} =' .format (ΡΠΈΡΠ»ΠΎ_1, ΡΠΈΡΠ»ΠΎ_2)) ΠΏΠ΅ΡΠ°ΡΡ (ΡΠΈΡΠ»ΠΎ_1 / ΡΠΈΡΠ»ΠΎ_2) # Π€ΠΎΡΠΌΠ°Ρ () ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΡΡΡΠΈΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ Π²ΡΠ²ΠΎΠ΄Π° ΠΈ Π΅Π³ΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
ΠΡΡ ΠΎΠ΄ :
ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ: 15 ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π²Π°ΡΠ΅ Π²ΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ: 10 15 + 10 = 25 15 - 10 = 05 15 * 10 = 150 15/10 = 1.5
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° Π²ΡΡΠ΅ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΠ²ΠΎΠ΄, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²ΠΎΠ΄ΠΈΡ num_1
ΠΊΠ°ΠΊ 15
ΠΈ num_2
ΠΊΠ°ΠΊ 10
, Π²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ.
ΠΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° ΡΠ°Π·, Π½Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π²ΡΠ±ΠΎΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΠΊΠ»ΡΡΠ°Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΡΠ»Π° Π²ΡΠ±ΡΠ°Π½Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ
ΠΡΠ°ΠΊ, ΠΌΡ Π½Π°ΡΠ½Π΅ΠΌ Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π²ΡΠ±ΠΎΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΠ½ΡΠ», ΡΡΠΎ ΠΎΠ½ / ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠ±ΡΠ°ΡΡ.
Π²ΡΠ±ΠΎΡ = Π²Ρ ΠΎΠ΄ ('' ' ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠΈΠΏ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ: + Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ - Π½Π° Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅ * Π΄Π»Ρ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ / Π΄Π»Ρ Π΄Π΅Π»Π΅Π½ΠΈΡ '' ') num_1 = int (input ('ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ:')) num_2 = int (input ('ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π²ΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ:')) Π΅ΡΠ»ΠΈ Π²ΡΠ±ΠΎΡ == '+': print ('{} + {} =' .format (ΡΠΈΡΠ»ΠΎ_1, ΡΠΈΡΠ»ΠΎ_2)) ΠΏΠ΅ΡΠ°ΡΡ (ΡΠΈΡΠ»ΠΎ_1 + ΡΠΈΡΠ»ΠΎ_2) elif choice == '-': print ('{} - {} =' .format (ΡΠΈΡΠ»ΠΎ_1, ΡΠΈΡΠ»ΠΎ_2)) ΠΏΠ΅ΡΠ°ΡΡ (ΡΠΈΡΠ»ΠΎ_1 - ΡΠΈΡΠ»ΠΎ_2) elif choice == '*': print ('{} * {} =' .format (ΡΠΈΡΠ»ΠΎ_1, ΡΠΈΡΠ»ΠΎ_2)) ΠΏΠ΅ΡΠ°ΡΡ (ΡΠΈΡΠ»ΠΎ_1 * ΡΠΈΡΠ»ΠΎ_2) elif choice == '/': print ('{} / {} ='.ΡΠΎΡΠΌΠ°Ρ (ΡΠΈΡΠ»ΠΎ_1, ΡΠΈΡΠ»ΠΎ_2)) ΠΏΠ΅ΡΠ°ΡΡ (ΡΠΈΡΠ»ΠΎ_1 / ΡΠΈΡΠ»ΠΎ_2) Π΅ΡΠ΅: print ('ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ, Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΅ΡΠ΅ ΡΠ°Π·.')
ΠΡΡ ΠΎΠ΄ :
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠΈΠΏ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ: + Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ - Π½Π° Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅ * Π΄Π»Ρ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ / Π΄Π»Ρ Π΄Π΅Π»Π΅Π½ΠΈΡ * ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ: 10 ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²Π²Π΅Π΄ΠΈΡΠ΅ Π²ΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ: 40 10 * 40 = 400
Π‘ΠΏΠΈΡΠΎΠΊ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Python
Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ Ρ ΠΏΠΎΠΊΠ°ΠΆΡ Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Python.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΏΠΎΠ΄Π΅Π»ΡΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΡΡΠ°Π·Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΠ°ΡΠ΅ΠΌ Ρ ΠΏΡΠΎΠ²Π΅Π΄Ρ Π±ΡΡΡΡΡΡ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ, Π° Π·Π°ΡΠ΅ΠΌ ΠΎΠ±ΡΡΡΠ½Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ Π² ΠΊΠΎΠ΄Π΅ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Π½Π° Python.
ΠΠΎΡ ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ:
ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Python
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ Π² Python, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ:
ΠΈΠΌΠΏΠΎΡΡ tkinter as tk ΠΊΠΎΡΠ΅Π½Ρ = ΡΠΊ.Π’ΠΊ () canvas1 = tk.Canvas (ΠΊΠΎΡΠ΅Π½Ρ, ΡΠΈΡΠΈΠ½Π° = 300, Π²ΡΡΠΎΡΠ° = 300) canvas1.pack () entry1 = tk.Entry (ΠΊΠΎΡΠ΅Π½Ρ) canvas1.create_window (210, 100, ΠΎΠΊΠ½ΠΎ = Π·Π°ΠΏΠΈΡΡ1) entry2 = tk.Entry (ΠΊΠΎΡΠ΅Π½Ρ) canvas1.create_window (210, 140, ΠΎΠΊΠ½ΠΎ = Π·Π°ΠΏΠΈΡΡ2) entry3 = tk.Entry (ΠΊΠΎΡΠ΅Π½Ρ) canvas1.create_window (210, 240, ΠΎΠΊΠ½ΠΎ = Π·Π°ΠΏΠΈΡΡ3) label0 = tk.Label (ΠΊΠΎΡΠ΅Π½Ρ, ΡΠ΅ΠΊΡΡ = 'ΠΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ') label0.config (font = ('helvetica', 14)) canvas1.create_window (150, 40, ΠΎΠΊΠ½ΠΎ = label0) label1 = tk.ΠΠ΅ΡΠΊΠ° (ΠΊΠΎΡΠ΅Π½Ρ, ΡΠ΅ΠΊΡΡ = 'ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° 1:') label1.config (font = ('helvetica', 10)) canvas1.create_window (100, 100, ΠΎΠΊΠ½ΠΎ = label1) label2 = tk.Label (root, text = 'ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° 2:') label2.config (font = ('helvetica', 10)) canvas1.create_window (100, 140, ΠΎΠΊΠ½ΠΎ = label2) label3 = tk.Label (root, text = 'Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:') label3.config (font = ('helvetica', 10)) canvas1.create_window (100, 240, ΠΎΠΊΠ½ΠΎ = label3) def add (): v1 = entry1.get () v2 = entry2.get () label4 = tk.ΠΠ΅ΡΠΊΠ° (ΠΊΠΎΡΠ΅Π½Ρ, ΡΠ΅ΠΊΡΡ = float (v1) + float (v2), font = ('helvetica', 10, 'bold'), bg = 'white') canvas1.create_window (210, 240, ΠΎΠΊΠ½ΠΎ = label4) buttonAdd = tk.Button (text = '+', command = add, bg = 'green', fg = 'white', font = ('helvetica', 9, 'ΠΆΠΈΡΠ½ΡΠΉ'), width = 5) canvas1.create_window (90, 190, ΠΎΠΊΠ½ΠΎ = buttonAdd) def sub (): v1 = entry1.get () v2 = entry2.get () label5 = tk.Label (root, text = float (v1) -float (v2), font = ('helvetica', 10, 'bold'), bg = 'white') Ρ ΠΎΠ»ΡΡ1.create_window (210, 240, ΠΎΠΊΠ½ΠΎ = label5) buttonSub = tk.Button (text = '-', command = sub, bg = 'green', fg = 'white', font = ('helvetica', 9, 'bold'), width = 5). canvas1.create_window (140, 190, ΠΎΠΊΠ½ΠΎ = buttonSub) def mul (): v1 = entry1.get () v2 = entry2.get () label6 = tk.Label (root, text = float (v1) * float (v2), font = ('helvetica', 10, 'bold'), bg = 'white') canvas1.create_window (210, 240, ΠΎΠΊΠ½ΠΎ = label6) buttonMul = tk.Button (text = 'x', command = mul, bg = 'green', fg = 'white', font = ('helvetica', 9, 'ΠΆΠΈΡΠ½ΡΠΉ'), width = 5) Ρ ΠΎΠ»ΡΡ1.create_window (190, 190, ΠΎΠΊΠ½ΠΎ = buttonMul) def div (): v1 = entry1.get () v2 = entry2.get () label7 = tk.Label (ΠΊΠΎΡΠ΅Π½Ρ, ΡΠ΅ΠΊΡΡ = float (v1) / float (v2), font = ('helvetica', 10, 'bold'), bg = 'white') canvas1.create_window (210, 240, ΠΎΠΊΠ½ΠΎ = label7) buttonDiv = tk.Button (text = '/', command = div, bg = 'green', fg = 'white', font = ('helvetica', 9, 'bold'), width = 5). canvas1.create_window (240, 190, ΠΎΠΊΠ½ΠΎ = buttonDiv) root.mainloop ()
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Π² Python
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΊΡΠ°Π½:
ΠΠΎΠΏΡΡΡΠΈΠΌ, Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΡΡΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 4 ΠΈ 3.ΠΠ°ΡΠ΅ΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π²Π΅ΡΡΠΈ ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΏΠΎΠ»Ρ Π²Π²ΠΎΠ΄Π°, Π° Π·Π°ΡΠ΅ΠΌ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Β«+Β», ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ 7 . Π§ΡΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠΌΠΌΠΎΠΉ 4 ΠΈ 3:
Π Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ΅ΡΠΈΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΡΠΌΠ½ΠΎΠΆΠΈΡΡ ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΆΠΌΠΈΡΠ΅ Β«xΒ», ΡΡΠΎΠ±Ρ ΡΠΌΠ½ΠΎΠΆΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΈ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ 12 :
Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Ρ ΠΎΠ±ΡΡΡΠ½Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ Π² ΠΊΠΎΠ΄Π΅.
ΠΠ°ΠΊ ΡΠΎΠ±ΡΠ°ΡΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Π½Π° Python
ΠΠΌΠΏΠΎΡΡΠΈΡΡΠΉΡΠ΅ ΠΏΠ°ΠΊΠ΅Ρ tkinter ΠΈ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Canvas
ΠΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΡΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ°ΠΊΠ΅Ρ tkinter .ΠΠ°ΠΊΠ΅Ρ tkinter ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (GUI) Π² Python.
ΠΠ°ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Ρ ΠΎΠ»ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π°ΡΠΈΠΌ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΠΊΠ°ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΏΠΎΠ»Ρ Π²Π²ΠΎΠ΄Π° ΠΈ Ρ. Π.
ΠΈΠΌΠΏΠΎΡΡ tkinter as tk ΠΊΠΎΡΠ΅Π½Ρ = tk.Tk () canvas1 = tk.Canvas (ΠΊΠΎΡΠ΅Π½Ρ, ΡΠΈΡΠΈΠ½Π° = 300, Π²ΡΡΠΎΡΠ° = 300) canvas1.pack ()
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΠΎΠ»Ρ Π²Π²ΠΎΠ΄Π°
ΠΠ°ΡΠ΅ΠΌ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΠ»Ρ Π²Π²ΠΎΠ΄Π° Π΄Π»Ρ ΡΠ±ΠΎΡΠ° Π΄Π°Π½Π½ΡΡ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π° ΠΏΠΎΠ»Ρ Π²Π²ΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠ±ΠΎΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ 1 ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 2. Π ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΡΡΠ΅ΡΡΠ΅ ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΡ ΡΠ΅Π»Π΅ΠΉ, Π³Π΄Π΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ.
entry1 = tk.Entry (ΠΊΠΎΡΠ΅Π½Ρ) canvas1.create_window (210, 100, ΠΎΠΊΠ½ΠΎ = Π·Π°ΠΏΠΈΡΡ1) entry2 = tk.Entry (ΠΊΠΎΡΠ΅Π½Ρ) canvas1.create_window (210, 140, ΠΎΠΊΠ½ΠΎ = Π·Π°ΠΏΠΈΡΡ2) entry3 = tk.Entry (ΠΊΠΎΡΠ΅Π½Ρ) canvas1.create_window (210, 240, ΠΎΠΊΠ½ΠΎ = Π·Π°ΠΏΠΈΡΡ3)
ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΌΠ΅ΡΠΊΠΈ
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ 4 ΠΌΠ΅ΡΠΊΠΈ:
- ΠΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ
- ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° 1:
- ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° 2:
- Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡ, ΡΠΎΡΠΌΠ°Ρ ΠΈ / ΠΈΠ»ΠΈ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ Π±ΡΠ΄ΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π½Π°Π΄ΠΏΠΈΡΠΈ.
label0 = tk.Label (root, text = 'Calculator') label0.config (font = ('helvetica', 14)) canvas1.create_window (150, 40, ΠΎΠΊΠ½ΠΎ = label0) label1 = tk.Label (root, text = 'ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° 1:') label1.config (font = ('helvetica', 10)) canvas1.create_window (100, 100, ΠΎΠΊΠ½ΠΎ = label1) label2 = tk.Label (root, text = 'ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° 2:') label2.config (font = ('helvetica', 10)) canvas1.create_window (100, 140, ΠΎΠΊΠ½ΠΎ = label2) label3 = tk.Label (root, text = 'Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:') label3.config (font = ('helvetica', 10)) canvas1.create_window (100, 240, ΠΎΠΊΠ½ΠΎ = label3)
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ
Π ΠΊΠΎΠ΄Π΅ 4 ΡΡΠ½ΠΊΡΠΈΠΈ:
- Π΄ΠΎΠ±Π°Π²ΠΈΡΡ - Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
- sub - Π΄Π»Ρ Π²ΡΡΠΈΡΠ°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
- mul - Π΄Π»Ρ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
- div - Π΄Π»Ρ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΡΡΠΈΡ 4 ΡΡΠ½ΠΊΡΠΈΠΉ Π΅ΡΡΡ ΡΠ²ΡΠ·Π°Π½Π½Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΈ.ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Β«buttonAddΒ» Π²ΡΠ·ΠΎΠ²Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²Π΅Π» Π² ΠΏΠΎΠ»Ρ Π²Π²ΠΎΠ΄Π°.
def add (): v1 = entry1.get () v2 = entry2.get () label4 = tk.Label (ΠΊΠΎΡΠ΅Π½Ρ, ΡΠ΅ΠΊΡΡ = float (v1) + float (v2), font = ('helvetica', 10, 'bold'), bg = 'white') canvas1.create_window (210, 240, ΠΎΠΊΠ½ΠΎ = label4) buttonAdd = tk.Button (text = '+', command = add, bg = 'green', fg = 'white', font = ('helvetica', 9, 'ΠΆΠΈΡΠ½ΡΠΉ'), width = 5) Ρ ΠΎΠ»ΡΡ1.create_window (90, 190, ΠΎΠΊΠ½ΠΎ = buttonAdd) def sub (): v1 = entry1.get () v2 = entry2.get () label5 = tk.Label (root, text = float (v1) -float (v2), font = ('helvetica', 10, 'bold'), bg = 'white') canvas1.create_window (210, 240, ΠΎΠΊΠ½ΠΎ = label5) buttonSub = tk.Button (text = '-', command = sub, bg = 'green', fg = 'white', font = ('helvetica', 9, 'bold'), width = 5). canvas1.create_window (140, 190, ΠΎΠΊΠ½ΠΎ = buttonSub) def mul (): v1 = Π·Π°ΠΏΠΈΡΡ1.ΠΏΠΎΠ»ΡΡΠ°ΡΡ() v2 = entry2.get () label6 = tk.Label (root, text = float (v1) * float (v2), font = ('helvetica', 10, 'bold'), bg = 'white') canvas1.create_window (210, 240, ΠΎΠΊΠ½ΠΎ = label6) buttonMul = tk.Button (text = 'x', command = mul, bg = 'green', fg = 'white', font = ('helvetica', 9, 'ΠΆΠΈΡΠ½ΡΠΉ'), width = 5) canvas1.create_window (190, 190, ΠΎΠΊΠ½ΠΎ = buttonMul) def div (): v1 = entry1.get () v2 = entry2.get () label7 = tk.Label (ΠΊΠΎΡΠ΅Π½Ρ, ΡΠ΅ΠΊΡΡ = float (v1) / float (v2), font = ('helvetica', 10, 'bold'), bg = 'white') Ρ ΠΎΠ»ΡΡ1.create_window (210, 240, ΠΎΠΊΠ½ΠΎ = label7) buttonDiv = tk.Button (text = '/', command = div, bg = 'green', fg = 'white', font = ('helvetica', 9, 'bold'), width = 5). canvas1.create_window (240, 190, ΠΎΠΊΠ½ΠΎ = buttonDiv) root.mainloop ()
ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ root.mainloop () Π² ΠΊΠΎΠ½ΡΠ΅.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Python Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²Ρ Π½Π°ΡΡΠΈΡΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ, Π²ΡΡΠΈΡΠ°ΡΡ, ΡΠΌΠ½ΠΎΠΆΠ°ΡΡ ΠΈΠ»ΠΈ Π΄Π΅Π»ΠΈΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π²ΠΎΠ΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ ΡΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π½Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python:
Π€ΡΠ½ΠΊΡΠΈΠΈ Python
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Python
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Python
ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄: ΠΡΠΎΡΡΠΎΠΉ Caculator ΠΏΡΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ
# ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π΅Π»Π°Π΅Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ, Π²ΡΡΠΈΡΠ°ΡΡ, ΡΠΌΠ½ΠΎΠΆΠ°ΡΡ ΠΈ Π΄Π΅Π»ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ
# ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ Π΄Π²Π° ΡΠΈΡΠ»Π°
def add (x, y):
return x + y
# ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΡΠΈΡΠ°Π΅Ρ Π΄Π²Π° ΡΠΈΡΠ»Π°
def subtract (x, y):
return x - y
# ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠΌΠ½ΠΎΠΆΠ°Π΅Ρ Π΄Π²Π° ΡΠΈΡΠ»Π°
def multiply (x, y):
return x * y
# ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π΄Π΅Π»ΠΈΡ Π΄Π²Π° ΡΠΈΡΠ»Π°
def div (x, y):
return x / y
print (Β«ΠΡΠ±ΡΠ°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ.")
print (" 1.Add ")
print (" 2.Subtract ")
print (" 3.Multiply ")
print (" 4.Divide ")
# ΠΡΠΈΠ½ΡΡΡ Π²Π²ΠΎΠ΄ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
choice = input ("ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π²ΡΠ±ΠΎΡ (1/2/3/4):")
num1 = int (input ("ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ:"))
num2 = int (input ("ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π²ΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ:"))
Π΅ΡΠ»ΠΈ choice == '1':
print (num1, "+", num2, "=", add (num1, num2))
elif choice == '2':
print (num1, "-", num2, "=", Π²ΡΡΠ΅ΡΡΡ (num1, num2))
elif choice == '3':
print (num1, "*", num2, "=", multiply (num1, num2))
elif choice == ' 4 ':
print (num1, "/", num2, "=", div (num1, num2))
else:
print ("ΠΠ΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ Π²Π²ΠΎΠ΄")
ΠΡΠ²ΠΎΠ΄
ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ.
1. Π‘Π»ΠΎΠΆΠΈΡΡ
2. ΠΡΡΠ΅ΡΡΡ
3. Π£ΠΌΠ½ΠΎΠΆΠΈΡΡ
4. Π Π°Π·Π΄Π΅Π»ΠΈΡΡ
ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π²ΡΠ±ΠΎΡ (1/2/3/4): 3
ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ: 15
ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π²ΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ: 14
15 * 14 = 210
Π ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΌΡ ΠΏΡΠΎΡΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ±ΡΠ°ΡΡ ΠΆΠ΅Π»Π°Π΅ΠΌΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½Ρ Π²Π°ΡΠΈΠ°Π½ΡΡ 1, 2, 3 ΠΈ 4. ΠΠ΅ΡΡΡΡΡ Π΄Π²Π° ΡΠΈΡΠ»Π°, ΠΈ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ if ... elif ... else ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π°. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ add (), subtract (), multiply () ΠΈ diver () ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
Π½ΠΎΠ²ΠΈΡΠΎΠΊ - ΠΡΠΎΡΡΠΎΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Π½Π° Python
ΠΠ»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠ° ΡΡΠΎ Π½Π΅ΠΏΠ»ΠΎΡ ΠΎ.ΠΠΎ Ρ ΡΡΠΈΠΌ ΡΠ²ΡΠ·Π°Π½Ρ ΡΡΠΈ Π²ΠΎΠΏΠΈΡΡΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
- ΠΠ°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Β«Π³Π»Π°Π²Π½ΡΡΒ» ΡΡΠ½ΠΊΡΠΈΡ.
- ΠΠ°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»ΠΎΠ²Π°ΡΡ.
-
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°
ΠΠ°ΡΠΈΠ½Π°Ρ Ρ (2), ΡΠ»ΠΎΠ²Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΊΠ»ΡΡΠ°. ΠΡΠ»ΠΈ Π²Ρ Π²ΡΡΡΠ΅ΡΠ°Π»ΠΈ ΡΠΏΠΈΡΠΊΠΈ / ΠΌΠ°ΡΡΠΈΠ²Ρ, ΡΡΠΎ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° Π½ΠΈΡ , ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ², Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π°.
ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΎΠ΄Π½ΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ, ΠΈ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΌΠ΅Π½ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π°.
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² = {
"+": Π΄ΠΎΠ±Π°Π²ΠΈΡΡ,
"-": sub,
"*": ΠΌΡΠ»Ρ,
"/": div,
"pow": pow
}
ΠΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΠ΅, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ . ΠΠΎΠ»ΡΡΠΈΡΡ
, ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ.
func = operator.get (ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ, ΠΠ΅Ρ)
Π΅ΡΠ»ΠΈ func ΡΠ°Π²Π½ΠΎ None:
print ("ΠΠ΅Π²Π΅ΡΠ½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ!")
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ
ΠΡΠ°ΡΠΈΠ²ΠΎ ΠΈ ΠΏΡΠΎΡΡΠΎ.
ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΎΡΡΠ°, ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΠ΅ Π²ΡΠ΅ Π² , Π΅ΡΠ»ΠΈ __name__ == '__main__':
Π² ΡΡΠ½ΠΊΡΠΈΡ.
Π‘ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π²Π°ΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ ΠΌΠ΅Π½ΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ,
Π½ΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Ρ
ΠΎΡΠΎΡΠ΅ΠΉ ΠΈΠ΄Π΅Π΅ΠΉ, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Ρ
ΠΎΡΠΎΡΠ΅ΠΉ ΠΈΠ΄Π΅Π΅ΠΉ.ΠΠΎ ΡΠ΅ΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²Π°ΠΌ.
ΠΡΠ»ΠΈ Π±Ρ Π²Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Ρ
ΠΎΡΠ΅Π»ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈ ΡΠΎ, ΠΈ Π΄ΡΡΠ³ΠΎΠ΅, Π²Ρ Π±Ρ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅:
def main ():
Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ True:
ΡΠΈΡΠ»ΠΎ1, ΡΠΈΡΠ»ΠΎ2, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ = get_user_input ()
func = operator.get (ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ, ΠΠ΅Ρ)
Π΅ΡΠ»ΠΈ func ΡΠ°Π²Π½ΠΎ None:
print ("ΠΠ΅Π²Π΅ΡΠ½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ!")
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ
print (func (ΡΠΈΡΠ»ΠΎ1; ΡΠΈΡΠ»ΠΎ2))
Π΅ΡΠ»ΠΈ __name__ == '__main__':
Π³Π»Π°Π²Π½ΡΠΉ()
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π΅ Π·Π°Ρ
ΠΎΡΠ΅ΡΡ Π΄Π΅Π»Π°ΡΡ get_user_input
.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π΅ Π·Π½Π°ΡΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ².ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ Π²Π°ΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ , Π΄ΠΎΠ±Π°Π²ΠΈΡΡ
, sub
ΠΈ Ρ. Π.
Π ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ ΡΠΌΠ΅Π½ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² Π½Π°:
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΈΠΌΠΏΠΎΡΡΠ°
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ = {
Β«+Β»: operator.add,
Β«-Β»: operator.sub,
"*": operator.mul,
"/": operator.truediv,
"pow": operator.pow
}
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΡΠΎΡΠΈΡ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ Python, ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ truediv
, Π½ΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΈ Π½Π΅ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Python2, Π²Π°ΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΎΠ± ΡΡΠΎΠΌ Π·Π½Π°ΡΡ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π°ΡΡΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ - Real Python
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΠΎΠ±Π³ΠΎΠ½ΡΡΡ ΡΡΠ½ΠΎΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, Π²ΡΠ΅ Π΅ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΏΡΠΎΡ Π½Π° ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠ΅ Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (GUI) . ΠΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Ρ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π½Π° Python, Π΅ΡΡΡ ΡΠΈΡΠΎΠΊΠΈΠΉ Π²ΡΠ±ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, Π²ΠΊΠ»ΡΡΠ°Ρ Tkinter, wxPython, PyQt, PySide2 ΠΈ Π΄ΡΡΠ³ΠΈΠ΅. Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python ΠΈ PyQt .
Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ Π²Ρ ΡΠΎΠ·Π΄Π°Π΄ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅-ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Ρ Python ΠΈ PyQt. ΠΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡΡ ΠΎΡΠ½ΠΎΠ²Ρ ΠΈ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ Π²ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ Π² ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅, ΡΠ΅Π»ΠΊΠ½ΡΠ² ΡΡΡΠ»ΠΊΡ Π½ΠΈΠΆΠ΅:
ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ PyQt
PyQt - ΡΡΠΎ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° Python Π΄Π»Ρ Qt , ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π½Π°Π±ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ C ++ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎ-Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ Π΄Π»Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² (GUI), Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΡΠΈ, ΠΏΠΎΡΠΎΠΊΠΈ, ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ SQL, SVG, OpenGL, XML ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠΎΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ.PyQt, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ RiverBank Computing Ltd, Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² Π΄Π²ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡ :
.- PyQt4: Π²ΡΠΏΡΡΠΊ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π΄Π»Ρ Qt 4.x ΠΈ 5.x
- PyQt5: Π²ΡΠΏΡΡΠΊ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Qt 5.x
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ PyQt4 ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ ΠΏΡΠΎΡΠΈΠ² Qt 5.x, Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎ Ρ Qt 4.x. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ΅ΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ PyQt4, ΡΠΎ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΠΏΡΡΡΠΈΡΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ Π² PyQt5.Π‘ΠΌ. ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ PyQt4 Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΡΠΎΠΉ ΡΠ΅ΠΌΠ΅.
Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ Π²Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΡΠ΅ ΠΎ PyQt5, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ, ΠΏΠΎΡ ΠΎΠΆΠ΅, ΡΡΠΎ Π±ΡΠ΄ΡΡΠ΅Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. Π‘ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ PyQt ΠΊΠ°ΠΊ ΡΡΡΠ»ΠΊΡ Π½Π° PyQt5.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π³Π»ΡΠ±ΠΆΠ΅ ΠΏΠΎΠ³ΡΡΠ·ΠΈΡΡΡΡ Π² ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π·Π³Π»ΡΠ½ΡΡΡ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ PyQt5.
PyQt5 ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° Qt v5 ΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΊΠ»Π°ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡ
Π²Π°ΡΡΠ²Π°ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ XML, ΡΠ΅ΡΠ΅Π²ΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΡΠΎΠΊΠΈ, Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
SQL, ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠ°, ΠΏΡΠΎΡΠΌΠΎΡΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π² Qt.PyQt5 ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΡΡΠΈ ΡΡΠΈΡ
ΠΊΠ»Π°ΡΡΠΎΠ² Qt Π² Π½Π°Π±ΠΎΡΠ΅ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Python, Π²ΡΠ΅ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π² ΠΏΠ°ΠΊΠ΅ΡΠ΅ Python Π²Π΅ΡΡ
Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ PyQt5
.
PyQt5 ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ Windows, Unix, Linux, macOS, iOS ΠΈ Android. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠ΅ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΈΠ»ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ Π²Π½Π΅ΡΠ½ΠΈΠΌ Π²ΠΈΠ΄ΠΎΠΌ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅.
PyQt5 Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎΠ΄ Π΄Π²ΡΠΌΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠΌΠΈ:
- ΠΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠ°Ρ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ Π½Π° Π±Π΅ΡΠ΅Π³Ρ ΡΠ΅ΠΊΠΈ
- Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΎΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π½Π°Ρ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ (GPL), Π²Π΅ΡΡΠΈΡ 3
ΠΠ°ΡΠ° Π»ΠΈΡΠ΅Π½Π·ΠΈΡ PyQt5 Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠ° Ρ Π²Π°ΡΠ΅ΠΉ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ Qt.ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π²Π΅ΡΡΠΈΡ GPL, Π²Π°Ρ ΠΊΠΎΠ΄ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ, ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΡ Ρ GPL. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ PyQt5 Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠ°Ρ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Qt ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»Π° ΠΈ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΡ Python Π΄Π»Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Qt. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Python Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Qt Π΄Π»Ρ Python ΠΈ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Qt Π΄Π»Ρ Python. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠ°ΠΊΠ΅Ρ Python Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ PySide2.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ PyQt5 ΠΈ PySide2 ΠΏΠΎΡΡΡΠΎΠ΅Π½Ρ ΠΏΠΎΠ²Π΅ΡΡ Qt, ΠΈΡ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠΈ, Π΄Π°ΠΆΠ΅ ΠΏΠΎΡΡΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½Ρ.ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡ ΠΊΠΎΠ΄Π° PyQt5 Π½Π° PySide2 ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΏΡΠΎΡΡΡΠΌ, ΠΊΠ°ΠΊ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΈΠΌΠΏΠΎΡΡΠ°. ΠΡΠ»ΠΈ Π²Ρ Π²ΡΡΡΠΈΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ , Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΡΠΈΠ»ΠΈΡΠΌΠΈ. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π³Π»ΡΠ±ΠΆΠ΅ ΠΏΠΎΠ³ΡΡΠ·ΠΈΡΡΡΡ Π² ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ Π΄Π²ΡΠΌΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° PyQt
Π£ Π²Π°Ρ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π½Π° Π²ΡΠ±ΠΎΡ ΠΏΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ PyQt Π² Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΈΠ»ΠΈ ΡΡΠ΅Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ΅ΡΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ - ΡΠ±ΠΎΡΠΊΠ° ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ². ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ ΡΡΠΎΠ³ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ.ΠΡΠ»ΠΈ Π²Π°ΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ±ΡΠ°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΡΡΠΎ Π² ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
ΠΡΡΠ³ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ - ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ ΠΊΠΎΠ»Π΅ΡΠ°. ΠΠΎΠ»Π΅ΡΠ° - ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Python. ΠΠ΄Π½Π°ΠΊΠΎ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ, ΡΡΠΎ ΠΊΠΎΠ»Π΅ΡΠ° Π΄Π»Ρ PyQt5 Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Python 3.5 ΠΈ Π½ΠΎΠ²Π΅Π΅. ΠΡΡΡ ΠΊΠΎΠ»Π΅ΡΠ° Π½Π°:
- Linux (64-ΡΠ°Π·ΡΡΠ΄Π½Π°Ρ)
- macOS
- Windows (32- ΠΈ 64-ΡΠ°Π·ΡΡΠ΄Π½Π°Ρ Π²Π΅ΡΡΠΈΠΈ)
ΠΡΠ΅ ΡΡΠΈ ΠΊΠΎΠ»Π΅ΡΠ° Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΊΠΎΠΏΠΈΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Qt, ΠΏΠΎΡΡΠΎΠΌΡ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ.
Π’ΡΠ΅ΡΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ - ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ
Linux ΠΈ macOS. ΠΠ»Ρ Windows Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π²ΠΎΠΈΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» .exe
. Π§Π΅ΡΠ²Π΅ΡΡΡΠΉ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ - ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² Anaconda Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ PyQt Π² Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅. Π ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΠ°Π·Π΄Π΅Π»Π°Ρ
Π²Ρ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΠ΅ΡΡ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠ°ΠΌΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ PyQt5 ΠΈΠ· ΡΠ°Π·Π½ΡΡ
ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΈ Π½Π° ΡΠ°Π·Π½ΡΡ
ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ
.
ΠΠ±ΡΠ΅ΡΠΈΡΡΠ΅ΠΌΠ½Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Ρ ΡΡΡΠ±ΠΊΠΎΠΉ
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Python 3.5 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ PyQt5 ΠΈΠ· PyPI, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ PyQt5 Π² ΡΠ²ΠΎΡ Π±Π°Π·ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ. Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π°ΡΠ΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π²Π°ΠΌ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠ°Π²Π° root ΠΈΠ»ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Ρ Ρ
pip
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅ΡΠΈΡΡ Π½Π΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ PyQt Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² Π²Π°ΡΠ΅ΠΉ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΈΡΠΏΠΎΡΡΠΈΡΡ Π²Π°ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ.Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄Ρ Python. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π΅Π³ΠΎ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ PyQt5:
$ python3 -m venv pyqtvenv
$ source pyqtvenv / bin / Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ
(pyqtvenv) $ pip ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ pyqt5
Π‘Π±ΠΎΡ pyqt5
...
Π£ΡΠΏΠ΅ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ PyQt5-sip-4.19.17 pyqt5-5.12.2
ΠΠ΄Π΅ΡΡ Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄Ρ Ρ venv
. ΠΠΎΡΠ»Π΅ Π΅Π³ΠΎ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ Π²Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΠ΅ pyqt5
Π² ΡΡΠΎΠΉ ΡΡΠ΅Π΄Π΅ Ρ pip install pyqt5
. ΠΡΠΎΡ Π²Π°ΡΠΈΠ°Π½Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΡΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ Π²Π°ΡΠ° Π±Π°Π·ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΡΡΠ°Π²Π°Π»Π°ΡΡ ΡΠΈΡΡΠΎΠΉ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ
Π ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ΅ Linux Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² Π²ΠΊΠ»ΡΡΠ°ΡΡ Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Π΄Π»Ρ PyQt Π² ΡΠ²ΠΎΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. ΠΡΠ»ΠΈ ΡΡΠΎ Π²Π΅ΡΠ½ΠΎ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Ubuntu 18.04 Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
$ sudo apt install python3-pyqt5
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ PyQt5 ΠΈ Π²ΡΠ΅ Π΅Π³ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π² ΡΠ²ΠΎΡ Π±Π°Π·ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π² Π»ΡΠ±ΠΎΠΌ ΠΈΠ· Π²Π°ΡΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ root, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π²ΡΠ·ΡΠ²Π°Π΅ΡΠ΅ Π·Π΄Π΅ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ sudo
.
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Mac, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ PyQt5 Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Homebrew. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΡΠ»ΠΈ Π²ΡΠ΅ ΠΏΠΎΠΉΠ΄Π΅Ρ Ρ ΠΎΡΠΎΡΠΎ, Π·Π½Π°ΡΠΈΡ, Π² Π²Π°ΡΠ΅ΠΉ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ PyQt5, Π³ΠΎΡΠΎΠ²ΡΠΉ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π² Linux ΠΈΠ»ΠΈ macOS, Π΅ΡΡΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ, ΡΡΠΎ Ρ Π²Π°Ρ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ PyQt5.Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° pip
Π±ΡΠ΄Π΅Ρ Π»ΡΡΡΠ΅, Π΅ΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ Ρ Π²Π°Ρ Π±ΡΠ»Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ.
ΠΡΠ»ΠΈ Π²Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Windows, Π½ΠΎ ΡΠ΅ΡΠΈΠ»ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ ΠΊΠΎΠ»Π΅ΡΠ°, ΡΠΎ Π²Π°Ρ ΠΏΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ PyQt ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΡΠΌ. ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΡΡΠ°Π½ΠΈΡΠ° Π·Π°Π³ΡΡΠ·ΠΊΠΈ PyQt5, ΠΏΠΎΡ
ΠΎΠΆΠ΅, Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Windows (ΡΠ°ΠΉΠ»Ρ .exe,
) Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΡ
Π²Π΅ΡΡΠΈΠΉ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Windows Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΡΡ
Π²Π΅ΡΡΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π΄Π²ΠΎΠΈΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ Π΄Π»Ρ PyQt v5.6.
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ PyQt ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ:
- ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅, ΠΊΠ°ΠΊΡΡ Π²Π΅ΡΡΠΈΡ Python Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅, ΠΈ ΠΊΠ°ΠΊΠΎΠΉ Ρ Π²Π°Ρ Python - 32-ΡΠ°Π·ΡΡΠ΄Π½ΡΠΉ ΠΈΠ»ΠΈ 64-ΡΠ°Π·ΡΡΠ΄Π½ΡΠΉ.
- ΠΠ°Π³ΡΡΠ·ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Python
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ PyQt, Π·Π°ΠΏΡΡΡΠΈΠ² ΡΠ°ΠΉΠ»
.exe
ΠΈ ΡΠ»Π΅Π΄ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ Π½Π° ΡΠΊΡΠ°Π½Π΅
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Anaconda
ΠΡΡΠ³ΠΎΠΉ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²ΠΎΠΉ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ PyQt, ΡΠ²Π»ΡΠ΅ΡΡΡ Anaconda, Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² Python Π΄Π»Ρ Π½Π°ΡΠΊΠΈ ΠΎ Π΄Π°Π½Π½ΡΡ .Anaconda - ΡΡΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΈ ΡΡΠ΅Π΄Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΈΠ· Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ 1500 ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ.
Anaconda ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΌΠ°ΡΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ PyQt Π² Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π²Π΅ΡΡΠΈΡ, ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΡΡ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ Π½Π° ΡΠΊΡΠ°Π½Π΅. ΠΡΠ»ΠΈ Π²Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ Anaconda, Ρ Π²Π°Ρ Π±ΡΠ΄ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ:
-
pyqt
: ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° Python Π΄Π»Ρ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ GUI Qt (ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠ°Ρ, GPL-2.0, Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ GPL-3.0) -
anyqt
: ΡΡΠΎΠ²Π΅Π½Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Π΄Π»Ρ PyQt4 / PyQt5 (Π»ΠΈΡΠ΅Π½Π·ΠΈΡ GPL-3.0) -
qtpy
: ΡΠ»ΠΎΠΉ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ PyQt5 / PyQt4 / PySide (Π»ΠΈΡΠ΅Π½Π·ΠΈΡ MIT) -
pyqtgraph
: ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Python Π΄Π»Ρ Π½Π°ΡΡΠ½ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠΈ (Π»ΠΈΡΠ΅Π½Π·ΠΈΡ MIT)
Π‘ ΡΡΠΈΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Ρ Π²Π°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΅, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python ΠΈ PyQt.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Anaconda Π·Π°ΠΉΠΌΠ΅Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°.ΠΡΠ»ΠΈ Π²Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Anaconda ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² PyQt, ΡΠΎΠ³Π΄Π° Π² Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π±ΡΠ΄Π΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. ΠΠΎΠΌΠ½ΠΈΡΠ΅ ΠΎΠ± ΡΡΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° Π΄ΡΠΌΠ°Π΅ΡΠ΅ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° Anaconda.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ PyQt
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡΠ°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° PyQt, Π²Ρ Π³ΠΎΡΠΎΠ²Ρ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π°. ΠΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ ΡΠΎΠ·Π΄Π°ΡΡ Β«Hello, World!Β» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ Python ΠΈ PyQt. ΠΠΎΡ ΡΠ°Π³ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ:
- ΠΠΌΠΏΠΎΡΡΠΈΡΡΠΉΡΠ΅
QApplication
ΠΈ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ ΠΈΠ·PyQt5.QtWidgets
. - Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ
QApplication
. - Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
- ΠΠΎΠΊΠ°Π·Π°ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
- ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΡΠΈΠΊΠ» ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (ΠΈΠ»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΈΠΊΠ»).
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ Π² ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅, ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Π½ΠΈΠΆΠ΅:
ΠΡ Π½Π°ΡΠ½Π΅ΡΠ΅ Ρ ΡΠ°ΠΉΠ»Π° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ hello.py
Π² Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅:
# ΠΠΌΡ ΡΠ°ΠΉΠ»Π°: hello.ΡΡ
"" "ΠΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Hello World Ρ PyQt5." ""
import sys
# 1. ΠΠΌΠΏΠΎΡΡΠΈΡΡΠΉΡΠ΅ `QApplication` ΠΈ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ.
ΠΈΠ· PyQt5.QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QApplication
ΠΈΠ· PyQt5.QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QLabel
ΠΈΠ· PyQt5.QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QWidget
Π‘Π½Π°ΡΠ°Π»Π° Π²Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΡΠ΅ sys
, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΡΠ°ΡΡΡ Π²ΡΡ
ΠΎΠ΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΡΠ΅ΠΌ Π²Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΡΠ΅ QApplication
, QWidget
ΠΈ QLabel
ΠΈΠ· QtWidgets
, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ PyQt5
.ΠΡ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΈΠΌΠΏΠΎΡΡ ΠΏΠΎΠ·ΠΆΠ΅, Π½ΠΎ ΠΏΠΎΠΊΠ° Π²Ρ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΠΈ Ρ ΠΏΠ΅ΡΠ²ΡΠΌ ΡΠ°Π³ΠΎΠΌ.
ΠΠ»Ρ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΠ°Π³Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ QApplication
ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
# 2. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ QApplication
app = QApplication (sys.argv)
ΠΠ΄Π΅ΡΡ Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ QApplication
. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ±ΡΠ΅ΠΊΡ QApplication
(ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
) Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π΅Π³ΠΎ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ.ΠΠ±ΡΠ΅ΠΊΡ QApplication
ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π΄Π΅Π»ΠΎ Ρ ΠΎΠ±ΡΠΈΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π²Π°ΠΌ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ sys.argv
Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: sys.argv
ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΏΠΈΡΠΎΠΊ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ
Π² ΡΡΠ΅Π½Π°ΡΠΈΠΉ Python. ΠΡΠ»ΠΈ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΡΡΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ
Π²ΠΌΠ΅ΡΡΠΎ sys.argv
. Π’ΠΎ Π΅ΡΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ app = QApplication ([])
.
Π¨Π°Π³ ΡΡΠ΅ΡΠΈΠΉ - ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²Π°Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° QWidget
, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π±Π°Π·ΠΎΠ²ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ Π²ΡΠ΅Ρ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π² PyQt. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ:
# 3. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΎΠΊΠ½ΠΎ = QWidget ()
window.setWindowTitle ('ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ PyQt5')
window.setGeometry (100, 100, 280, 80)
window.move (60, 15)
helloMsg = QLabel (' Hello World!
', parent = window)
helloMsg.move (60, 15)
Π ΡΡΠΎΠΌ ΠΊΠΎΠ΄Π΅ window
ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ QWidget
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠΊΠ½Π° (ΠΈΠ»ΠΈ ΡΠΎΡΠΌΡ) ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.Π‘ ΠΏΠΎΠΌΠΎΡΡΡ .setWindowTitle ()
Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π² ΠΎΠΊΠ½ΠΎ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ PyQt5 App
.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ .setGeometry ()
, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠΊΠ½Π° ΠΈ ΠΌΠ΅ΡΡΠΎ Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½Π΅. ΠΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° - ΡΡΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ x
ΠΈ y
, Π² ΠΊΠΎΡΠΎΡΡΡ
ΠΎΠΊΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΎ Π½Π° ΡΠΊΡΠ°Π½Π΅. Π’ΡΠ΅ΡΠΈΠΉ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΡΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ - ΡΡΠΎ ΡΠΈΡΠΈΠ½Π°
ΠΈ Π²ΡΡΠΎΡΠ°
ΠΎΠΊΠ½Π°.
ΠΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ Π½ΡΠΆΠ½Ρ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ! ΠΠ΄Π΅ΡΡ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ QLabel
( helloMsg
), ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Hello World!
Π² ΠΎΠΊΠ½Π΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ±ΡΠ΅ΠΊΡΡ QLabel
ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠ΅ΠΊΡΡ HTML, ΠΏΠΎΡΡΠΎΠΌΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ HTML '
Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ° ΠΊΠ°ΠΊ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Hello World!
' h2
. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ .move ()
, ΡΡΠΎΠ±Ρ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ helloMsg
Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ (60, 15)
Π² ΠΎΠΊΠ½Π΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π PyQt5 Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ (ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡ QWidget
) ΠΊΠ°ΠΊ ΠΎΠΊΠ½ΠΎ Π²Π΅ΡΡ
Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠΊΡ. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ - Π²Ρ Π½Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π΄ΠΈΡΠ΅ Π΅ΠΌΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ
. ΠΠΎΠ³Π΄Π° Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΠ°ΠΊΠΎΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ, PyQt5 Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ Π΅ΠΌΡ ΡΡΡΠΎΠΊΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΈ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅Ρ Π΅Π³ΠΎ Π² ΠΎΠ±ΡΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.
ΠΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ-ΠΏΠΎΡΠΎΠΌΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Π΄Π²ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄ΠΎΠΏΠΎΠ»Π½ΡΡΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ:
- ΠΠΈΠ΄ΠΆΠ΅Ρ, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅Ρ
ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°
, - ΡΡΠΎ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΈΠ»ΠΈ ΠΎΠΊΠ½ΠΎ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ . - ΠΠΈΠ΄ΠΆΠ΅Ρ, ΠΈΠΌΠ΅ΡΡΠΈΠΉ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ
ΠΡΠ° Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΡΠ°Π²Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ , ΠΊΠΎΠ³Π΄Π° ΡΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ Π²Π»Π°Π΄Π΅ΡΡ ΡΠ²ΠΎΠΈΠΌΠΈ Π΄Π΅ΡΡΠΌΠΈ. ΠΠΎΠ΄Π΅Π»Ρ Π²Π»Π°Π΄Π΅Π½ΠΈΡ PyQt5 Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ΄Π°Π»ΠΈΡΠ΅ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°
(Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠΊΠ½ΠΎ Π²Π΅ΡΡ
Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ), ΡΠΎ Π²ΡΠ΅ Π΅Π³ΠΎ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ (Π²ΠΈΠ΄ΠΆΠ΅ΡΡ) ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΄Π°Π»Π΅Π½Ρ.
ΠΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ ΡΡΠ΅ΡΠ΅ΠΊ ΠΏΠ°ΠΌΡΡΠΈ Π²ΡΠ΅Π³Π΄Π° ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π»ΡΠ±ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ QWidget
ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ
, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠΊΠΎΠ½ Π²Π΅ΡΡ
Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ.
ΠΡ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΠΈ ΡΡΠ΅ΡΠΈΠΉ ΡΠ°Π³, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π°Π²Π°ΠΉΡΠ΅ Π·Π°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π΄Π²Π° ΡΠ°Π³Π° ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠΌ Π²Π°ΡΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ PyQt ΠΊ Π·Π°ΠΏΡΡΠΊΡ:
# 4. ΠΠΎΠΊΠ°Π·Π°ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
window.show ()
# 5. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΡΠΈΠΊΠ» ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (ΠΈΠ»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΈΠΊΠ»).
sys.exit (app.exec_ ())
ΠΠ΄Π΅ΡΡ Π²Ρ Π²ΡΠ·ΡΠ²Π°Π΅ΡΠ΅ .show ()
Π² ΠΎΠΊΠ½Π΅
. ΠΡΠ·ΠΎΠ² .show ()
ΠΏΠ»Π°Π½ΠΈΡΡΠ΅Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΎΠ½ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π½ΠΎΠ²ΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΠΈΠΊΠ» ΡΠΎΠ±ΡΡΠΈΠΉ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π‘ΠΎΠ±ΡΡΠΈΠ΅ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ - ΡΡΠΎ Π·Π°ΠΏΡΠΎΡ Π½Π° ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ², ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π²Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅ ΡΠΈΠΊΠ» ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²ΡΠ·ΡΠ²Π°Ρ app.exec_ ()
. ΠΡΠ·ΠΎΠ² .exec_ ()
Π·Π°ΠΊΠ»ΡΡΠ΅Π½ Π² Π²ΡΠ·ΠΎΠ² sys.exit ()
, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π²ΡΠΉΡΠΈ ΠΈΠ· Python ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΡΠ΅ΡΡΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ hello.py
Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΠΎΡ ΡΠΊΡΠΈΠΏΡ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ°ΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ:
ΠΠ΄Π΅ΡΡ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎΠΊΠ½ΠΎ (Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ QWidget
) Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ Hello World!
Π½Π° Π½Π΅ΠΌ.Π§ΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ QLabel
, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ HTML.
ΠΠΎΠ·Π΄ΡΠ°Π²Π»ΡΡ! ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠ²ΠΎΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ Π½Π°ΡΡΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ PyQt!
Π‘ ΡΡΠ΅ΡΠΎΠΌ ΡΡΠΈΠ»Π΅ΠΉ ΠΊΠΎΠ΄Π°
ΠΡΠ»ΠΈ Π²Ρ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ΄ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΠ΅, ΡΡΠΎ PyQt Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠΈΠ»Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ PEP 8 ΠΈ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡΠΌ ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ . PyQt ΠΏΠΎΡΡΡΠΎΠ΅Π½ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Qt, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π½Π° C ++ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅Π³ΠΎ ΡΡΠΈΠ»Ρ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ camelCase Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ .Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ΅ΡΠΈΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΡΡΠΈΠ»Ρ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ Π²Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠ²ΠΎΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ PyQt.
Π ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² PEP 8 Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ, ΡΡΠΎ:
ΠΠΎΠ²ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈ ΠΏΠ°ΠΊΠ΅ΡΡ (Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ) Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Ρ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΡΠΈΠΌΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌΠΈ, Π½ΠΎ Π΅ΡΠ»ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΈΠ»Ρ, ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½Π° Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ. (ΠΡΡΠΎΡΠ½ΠΈΠΊ)
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΠ·Π΅Π½ ΠΠΈΡΠΎΠ½Π° Π³ΠΎΠ²ΠΎΡΠΈΡ:
β¦ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΠΎΡΡΡ Π²Π°ΠΆΠ½Π΅Π΅ ΡΠΈΡΡΠΎΡΡ. (ΠΡΡΠΎΡΠ½ΠΈΠΊ)
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄, ΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΈΠ»Ρ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ PEP 8 ΠΈ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΡΠΈΠ»Ρ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ PyQt.ΠΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΈΠ½ΡΡΡ. Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΡΡΠΈΠ»Ρ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ PyQt Π΄Π»Ρ Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΡ.
ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ² PyQt
ΠΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ²Π»Π°Π΄Π΅ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΠΌΠΈ Π»ΠΎΠ³ΠΈΠΊΠΈ PyQt, ΡΡΠΎΠ±Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΡΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ Π²ΠΊΠ»ΡΡΠ°ΡΡ:
- ΠΠΈΠ΄ΠΆΠ΅ΡΡ
- ΠΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ ΠΏΠΎ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
- ΠΠΈΠ°Π»ΠΎΠ³ΠΈ
- ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΠΊΠ½Π°
- ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
- Π¦ΠΈΠΊΠ»Ρ ΡΠΎΠ±ΡΡΠΈΠΉ
- Π‘ΠΈΠ³Π½Π°Π»Ρ ΠΈ ΡΠ»ΠΎΡΡ
ΠΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π±ΡΠ΄ΡΡ ΡΡΡΠΎΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ Π²Π°ΡΠΈΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ PyQt GUI.ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΠ· Π½ΠΈΡ
ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π² Π²ΠΈΠ΄Π΅ ΠΊΠ»Π°ΡΡΠΎΠ² Python. PyQt5.QtWidgets
- ΡΡΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΠ΅ ΡΡΠΈ ΠΊΠ»Π°ΡΡΡ. ΠΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ Π²Π°ΠΆΠ½Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Π²Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΈΡ
Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΠ°Π·Π΄Π΅Π»Π°Ρ
.
ΠΠΈΠ΄ΠΆΠ΅ΡΡ
QWidget
- ΡΡΠΎ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈΠ»ΠΈ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² . ΠΡΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π² ΠΎΠΊΠ½Π°Ρ
ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. ΠΠΈΠ΄ΠΆΠ΅ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΡΠ΄ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ
Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.ΠΠ½ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΊΡΠ°Π½Π΅.
ΠΠΈΠ΄ΠΆΠ΅ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ΅Π»ΡΠΊΠΈ ΠΌΡΡΠΈ, Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΡ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΎΠΊΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ². ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ ΡΠ»Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΎΠ±ΡΡΠΈΠ΅, ΠΎΠ½ ΠΈΠ·Π΄Π°Π΅Ρ ΡΠΈΠ³Π½Π°Π», ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ. PyQt5 ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ³Π°ΡΡΡ ΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»ΡΠΆΠ°Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΡΠ΅Π»ΡΠΌ. ΠΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ²:
- ΠΠ½ΠΎΠΏΠΊΠΈ
- ΠΡΠΈΠΊΠ΅ΡΠΊΠΈ
- ΠΠΈΠ½ΠΈΡ ΠΏΡΠ°Π²ΠΎΠΊ
- ΠΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π±Π»ΠΎΠΊΠΈ
- Π Π°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠΈ
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΡΠΈΡ
Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ².ΠΠ΅ΡΠ²ΠΎΠΉ ΠΈΠ΄Π΅Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° . ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ, ΡΠΎΠ·Π΄Π°Π² ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ QPushButton
, ΠΊΠ»Π°ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ. Π’ΠΈΠΏΠΈΡΠ½ΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ: ΠΠ
, ΠΡΠΌΠ΅Π½Π°
, ΠΡΠΈΠΌΠ΅Π½ΠΈΡΡ
, ΠΠ°
, ΠΠ΅Ρ
ΠΈ ΠΠ°ΠΊΡΡΡΡ
. ΠΠΎΡ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π²ΡΠ³Π»ΡΠ΄ΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Linux:
Π’Π°ΠΊΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΏΠΎΠΆΠ°Π»ΡΠΉ, ΡΠ²Π»ΡΡΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌΠΈ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°ΠΌΠΈ Π² Π»ΡΠ±ΠΎΠΌ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅. Π©Π΅Π»ΠΊΠ½ΡΠ² ΠΏΠΎ Π½ΠΈΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π°ΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ. ΠΡ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π² ΠΎΡΠ²Π΅Ρ Π½Π° Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
ΠΠ°Π»Π΅Π΅ ΠΈΠ΄ΡΡ ΡΡΠ»ΡΠΊΠΎΠ² , ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ QLabel
. Π―ΡΠ»ΡΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² Π²ΠΈΠ΄Π΅ ΡΠ΅ΠΊΡΡΠ° ΠΈΠ»ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ:
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΡΠ»ΡΠΊΠΈ, ΡΡΠΎΠ±Ρ Π»ΡΡΡΠ΅ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π°ΡΠ΅Π³ΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΈΡ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ, ΠΈ ΠΎΠ½ΠΈ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠ΅ΠΊΡΡ HTML, ΠΊΠ°ΠΊ Π²Ρ Π²ΠΈΠ΄Π΅Π»ΠΈ ΡΠ°Π½Π΅Π΅. Π―ΡΠ»ΡΠΊΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΡΠΈ ΡΠΎΠΊΡΡΠ° Π΄Π»Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°.
ΠΡΠ΅ ΠΎΠ΄Π½ΠΈΠΌ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠΎΠΊΠ° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ , ΠΎΠ΄Π½ΠΎΡΡΡΠΎΡΠ½ΠΎΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ QLineEdit
.Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠΎΠΊ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²ΠΎΠ΄ΠΈΠ» ΠΈΠ»ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π» Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅. ΠΠΎΡ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π²ΡΠ³Π»ΡΠ΄ΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Linux:
ΠΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ
, Π²ΡΡΠ°Π²ΠΈΡΡ
, ΠΎΡΠΌΠ΅Π½ΠΈΡΡ
, ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ
, ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΈΡΡ, ΠΎΡΠΏΡΡΡΠΈΡΡ ΠΈ Ρ. Π. ΠΠ° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΡΠΈΡΡΠ½ΠΊΠ΅ Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡ-Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ, ΡΡΠΎΠ±Ρ ΡΠΎΠΎΠ±ΡΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΊΠ°ΠΊΠΎΠΉ ΡΠΈΠΏ Π²Π²ΠΎΠ΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ.
ΠΠΎΠ»Ρ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ - Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ QComboBox
.ΠΠΎΠ»Π΅ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡ Π²Π°ΡΠ΅ΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π·Π°Π½ΠΈΠΌΠ°Π» ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π½Π° ΡΠΊΡΠ°Π½Π΅. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠ΅Π³ΠΎΡΡ ΡΠΏΠΈΡΠΊΠ° Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Linux:
ΠΡΠΎ ΠΏΠΎΠ»Π΅ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ , ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ±ΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ², Π½ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅. ΠΠΎΠ»Ρ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΠΌΡΠΌΠΈ , ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ. ΠΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΡΡΠΎΠΊΠΈ ΠΈΠ»ΠΈ ΠΈ ΡΠΎ, ΠΈ Π΄ΡΡΠ³ΠΎΠ΅.
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ Π·Π΄Π΅ΡΡ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΡΠ΅, - ΡΡΠΎ ΡΠ°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠ° , ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ QRadioButton
.ΠΠ±ΡΠ΅ΠΊΡ QRadioButton
- ΡΡΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ° Π²ΡΠ±ΠΎΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½Π° (ΠΎΡΠΌΠ΅ΡΠ΅Π½Π°) ΠΈΠ»ΠΈ Π²ΡΠΊΠ»ΡΡΠ΅Π½Π° (Π½Π΅ ΠΎΡΠΌΠ΅ΡΠ΅Π½Π°). Π Π°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ±ΡΠ°Π» ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ². Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ:
Π ΡΡΠΎΠΉ Π³ΡΡΠΏΠΏΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΉ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ ΠΊΠ½ΠΎΠΏΠΊΡ. ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ, ΡΠΎ ΡΠ°Π½Π΅Π΅ Π²ΡΠ±ΡΠ°Π½Π½Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΠΊΠ»ΡΡΠ°Π΅ΡΡΡ.
PyQt5 ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»ΡΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ².ΠΠ° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ Ρ Π²Π°Ρ Π±ΡΠ»ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠΎΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π’Π΅, ΡΡΠΎ Π²Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ, - ΡΡΠΎ Π»ΠΈΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, Π½ΠΎ ΠΎΠ½ΠΈ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡ Π²Π°ΠΌ ΠΌΠΎΡΡ ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡΡ PyQt5. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π»Ρ Π²Π°ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ ΠΏΠΎ ΠΌΠ°ΠΊΠ΅ΡΡ
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ ΠΈ ΠΊΠ°ΠΊ ΠΈΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ². ΠΠΎ ΠΊΠ°ΠΊ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ Π½Π°Π±ΠΎΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°? Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² Π² ΡΠΎΡΠΌΠ΅ ΠΈΠ»ΠΈ ΠΎΠΊΠ½Π΅.ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ .resize ()
ΠΈ .move ()
, ΡΡΠΎΠ±Ρ Π·Π°Π΄Π°ΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ². ΠΠ΄Π½Π°ΠΊΠΎ Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ:
- Π§ΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° Π² Π²Π°ΡΠΈΡ ΡΠΎΡΠΌΠ°Ρ , Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Π²ΡΡΡΠ½ΡΡ.
- Π§ΡΠΎΠ±Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΎΡΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠΎΡΠΌΡ, Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ (ΡΠΎΠ±ΡΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° , ).
- ΠΠ°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ Π²ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΌΠ΅Π½ΡΠ΅ΡΠ΅ ΠΌΠ°ΠΊΠ΅Ρ ΡΠΎΡΠΌ, Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΠ΅ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΡΠ΅ΡΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ.
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²ΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ .resizeEvent ()
Π΄Π»Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°ΡΡΠ΅ΡΠ° ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°. ΠΠ΄Π½Π°ΠΊΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ² ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ Π²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ ΡΠ»ΡΡΡΠ°ΡΡ ΡΠ΅ΠΌΠΎΠ½ΡΠΎΠΏΡΠΈΠ³ΠΎΠ΄Π½ΠΎΡΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΠΈΡΠΏΠ΅ΡΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ - ΡΡΠΎ ΠΊΠ»Π°ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²Π°ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ Π²Π°ΡΠΈ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ Π² ΡΠ΅Ρ ΠΌΠ΅ΡΡΠ°Ρ , Π³Π΄Π΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΠΈΡΡ Π² ΡΠΎΡΠΌΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΈΡΠΏΠ΅ΡΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π°Π΄Π°ΠΏΡΠΈΡΡΡΡΡΡ ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠΎΠ±ΡΡΠΈΠΉ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ.ΠΠ½ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΡΡ ΡΠ°Π·ΠΌΠ΅Ρ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² Π²Π½ΡΡΡΠΈ Π½ΠΈΡ . ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅Ρ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² Π² ΠΌΠ°ΠΊΠ΅ΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠΎΡΠΌΡ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΠ΅ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²ΠΈΠ΄Π΅Π»ΠΈ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΠΈΠΊΠ΅ΡΠΎΠΊ. ΠΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΡΠ·ΡΠΊ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΉ, ΡΠ΅ΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ. ΠΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΡΠΎΠΉ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ ΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»ΠΎΠ²Π½ΡΠΌΠΈ ΡΠ·ΡΠΊΠ°ΠΌΠΈ.
PyQt ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΅ΡΡΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΊΠ»Π°ΡΡΠ° ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ:
-
QHBoxLayout
-
QVBoxLayout
-
QGridLayout
-
QFormLayout
ΠΠ΅ΡΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ - ΡΡΠΎ QHBoxLayout
, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π΅Ρ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ:
ΠΠΈΠ΄ΠΆΠ΅ΡΡ ΠΏΠΎΡΠ²ΡΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΡΠ΄ΠΎΠΌ Ρ Π΄ΡΡΠ³ΠΈΠΌ, Π½Π°ΡΠΈΠ½Π°Ρ ΡΠ»Π΅Π²Π°.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΊΠΎΠ΄Π° ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ QHBoxLayout
Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ:
1 # ΠΠΌΡ ΡΠ°ΠΉΠ»Π°: h_layout.ΡΡ
2
3 "" "ΠΡΠΈΠΌΠ΅Ρ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ." ""
4
5import sys
6
7ΠΈΠ· PyQt5. QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QApplication
8ΠΈΠ· PyQt5. QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΡΡ QHBoxLayout
9ΠΈΠ· PyQt5. QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QPushButton
10 ΠΈΠ· PyQt5. QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QWidget
11
12app = QApplication (sys.argv)
13window = QWidget ()
14window.setWindowTitle ('QHBoxLayout')
15layout = QHBoxLayout ()
16layout.addWidget (QPushButton ('ΠΠ»Π΅Π²ΠΎ'))
17layout.addWidget (QPushButton ('Π¦Π΅Π½ΡΡ'))
18layout.addWidget (QPushButton ('ΠΠΏΡΠ°Π²ΠΎ'))
19window.setLayout (ΠΌΠ°ΠΊΠ΅Ρ)
20ΠΎΠΊΠ½ΠΎ.ΠΠΎΠΊΠ°Π·Π°ΡΡ()
21sys.exit (app.exec_ ())
ΠΡΠ΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π·Π΄Π΅ΡΡ ΡΠ²ΠΎΡΠΈΡ ΡΡΠ΄Π΅ΡΠ°:
- Π‘ΡΡΠΎΠΊΠ° 15 ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ
QHBoxLayout
Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌlayout
. - Π‘ΡΡΠΎΠΊΠΈ Ρ 16 ΠΏΠΎ 18 Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΡΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² ΠΌΠ°ΠΊΠ΅Ρ
.addWidget ()
- Π‘ΡΡΠΎΠΊΠ° 19 ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΌΠ°ΠΊΠ΅Ρ
.setLayout ()
.
ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ python3 h_layout.py
ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ΅ Π²ΡΡΠ΅ Π²Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΡΡΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π² ΠΊΠ°ΠΊΠΎΠΌ Π²Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ»ΠΈ ΠΈΡ Π² ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠ»Π°ΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ - QVBoxLayout
, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π΅Ρ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎ, ΡΠ²Π΅ΡΡ
Ρ Π²Π½ΠΈΠ·:
ΠΠ°ΠΆΠ΄ΡΠΉ Π½ΠΎΠ²ΡΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΠΏΠΎΠ΄ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ. ΠΡΠΎΡ ΠΊΠ»Π°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΌΠ°ΠΊΠ΅ΡΠ° Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° ΡΠ²Π΅ΡΡ Ρ Π²Π½ΠΈΠ·.
ΠΠΎΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ QVBoxLayout
:
1 # ΠΠΌΡ ΡΠ°ΠΉΠ»Π°: v_layout.py
2
3 "" "ΠΡΠΈΠΌΠ΅Ρ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ." ""
4
5import sys
6
7ΠΈΠ· PyQt5. QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QApplication
8ΠΈΠ· PyQt5. QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QPushButton
9ΠΈΠ· PyQt5. QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΡΡ QVBoxLayout
10 ΠΈΠ· PyQt5. QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QWidget
11
12app = QApplication (sys.argv)
13window = QWidget ()
14window.setWindowTitle ('QVBoxLayout')
15layout = QVBoxLayout ()
16layout.addWidget (QPushButton ('ΠΠ²Π΅ΡΡ
Ρ'))
17layout.addWidget (QPushButton ('Π¦Π΅Π½ΡΡ'))
18layout.addWidget (QPushButton ('Π‘Π½ΠΈΠ·Ρ'))
19window.setLayout (ΠΌΠ°ΠΊΠ΅Ρ)
20window.show ()
21sys.exit (app.exec_ ())
Π ΡΡΡΠΎΠΊΠ΅ 15 Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ QVBoxLayout
. Π ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΡΡΠ΅Ρ
ΡΡΡΠΎΠΊΠ°Ρ
Π²Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΠ΅ ΡΡΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² ΠΌΠ°ΠΊΠ΅Ρ
. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΌΠ°ΠΊΠ΅Ρ
, ΡΡΠΎΠ±Ρ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ Π²ΠΈΠ΄ΠΆΠ΅Ρ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ.
ΠΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΡΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎ, ΠΎΠ΄Π½Π° ΠΏΠΎΠ΄ Π΄ΡΡΠ³ΠΎΠΉ.ΠΠ½ΠΎΠΏΠΊΠΈ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π² ΠΊΠ°ΠΊΠΎΠΌ Π²Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ»ΠΈ ΠΈΡ Π² ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄, ΡΠ²Π΅ΡΡ Ρ Π²Π½ΠΈΠ·.
Π’ΡΠ΅ΡΠΈΠΉ ΠΊΠ»Π°ΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ - QGridLayout
, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π΅Ρ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ Π² ΡΠ΅ΡΠΊΡ ΠΈΠ· ΡΡΡΠΎΠΊ ΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠ². ΠΠ°ΠΆΠ΄ΡΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠ΅ΡΠΊΠ΅. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°, ΠΏΠ΅ΡΠ΅Π΄Π°Π² Π΅ΠΌΡ ΠΏΠ°ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π² Π²ΠΈΠ΄Π΅ (ΡΡΡΠΎΠΊΠ°, ΡΡΠΎΠ»Π±Π΅Ρ)
. ΠΡΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ int
ΡΠΈΡΠ»Π°. ΠΠ½ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ, Π² ΠΊΠ°ΠΊΡΡ ΡΡΠ΅ΠΉΠΊΡ ΡΠ΅ΡΠΊΠΈ Π²Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π²ΠΈΠ΄ΠΆΠ΅Ρ.Π‘Ρ
Π΅ΠΌΠ° ΡΠ΅ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
QGridLayout
Π±Π΅ΡΠ΅Ρ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ΅ Π΅ΠΌΡ Π΅Π³ΠΎ ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΌ
, Π΄Π΅Π»ΠΈΡ Π΅Π³ΠΎ Π½Π° ΡΡΡΠΎΠΊ
ΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠ²
ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ Π² ΡΠ²ΠΎΡ ΡΡΠ΅ΠΉΠΊΡ.
ΠΠΎΡ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ QGridLayout
Π² Π²Π°ΡΠ΅ΠΌ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅:
1 # ΠΠΌΡ ΡΠ°ΠΉΠ»Π°: g_layout.py
2
3 "" "ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ ΡΠ΅ΡΠΊΠΈ." ""
4
5import sys
6
7ΠΈΠ· PyQt5. QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QApplication
8ΠΈΠ· PyQt5. QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΡΡ QGridLayout
9 ΠΈΠ· PyQt5.QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QPushButton
10 ΠΈΠ· PyQt5. QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QWidget
11
12app = QApplication (sys.argv)
13window = QWidget ()
14window.setWindowTitle ('QGridLayout')
15layout = QGridLayout ()
16layout.addWidget (QPushButton ('ΠΠ½ΠΎΠΏΠΊΠ° (0, 0)'), 0, 0)
17layout.addWidget (QPushButton ('ΠΠ½ΠΎΠΏΠΊΠ° (0, 1)'), 0, 1)
18layout.addWidget (QPushButton ('ΠΠ½ΠΎΠΏΠΊΠ° (0, 2)'), 0, 2)
19layout.addWidget (QPushButton ('ΠΠ½ΠΎΠΏΠΊΠ° (1, 0)'), 1, 0)
20layout.addWidget (QPushButton ('ΠΠ½ΠΎΠΏΠΊΠ° (1, 1)'), 1, 1)
21layout.addWidget (QPushButton ('ΠΠ½ΠΎΠΏΠΊΠ° (1, 2)'), 1, 2)
22layout.addWidget (QPushButton ('ΠΠ½ΠΎΠΏΠΊΠ° (2, 0)'), 2, 0)
23layout.addWidget (QPushButton ('Button (2, 1) + 2 Columns Span'), 2, 1, 1, 2)
24window.setLayout (ΠΌΠ°ΠΊΠ΅Ρ)
25window.show ()
26sys.exit (app.exec_ ())
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ QGridLayout
Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ²ΠΎΠΈΡ
Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ². ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠΎΡΠΎΠΉ ΠΈ ΡΡΠ΅ΡΠΈΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΠ΅ Π² .addWidget ()
, ΡΠ²Π»ΡΡΡΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ int
, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°.
Π ΡΡΡΠΎΠΊΠ΅ 23 Π²Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΠ΅ Π΅ΡΠ΅ Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΊ .addWidget ()
. ΠΡΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ rowSpan
ΠΈ columnSpan
, ΠΈ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΡΡΠΌ ΠΈ ΠΏΡΡΡΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ
, ΡΡΠΎΠ±Ρ Π²ΠΈΠ΄ΠΆΠ΅Ρ Π·Π°Π½ΠΈΠΌΠ°Π» Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈΠ»ΠΈ ΡΡΠΎΠ»Π±ΡΠ°, ΠΊΠ°ΠΊ Π² ΡΠ»ΡΡΠ°Π΅ Ρ QPushButton ('Button (2, 1) + 2 Columns Span')
Π·Π΄Π΅ΡΡ.
ΠΡΠ»ΠΈ Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΠΎΡ ΠΊΠΎΠ΄ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠ°ΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ:
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ ΡΠ²ΠΎΠΈ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΠ΅ΡΠΊΠΈ ΠΈΠ· ΡΡΡΠΎΠΊ ΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠ². ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠΈ, ΠΊΠ°ΠΊ Π²Ρ ΡΠΊΠ°Π·Π°Π»ΠΈ Π² ΡΡΡΠΎΠΊΠ΅ 23.
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠ»Π°ΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ - QFormLayout
, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π΅Ρ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ Π² Π²ΠΈΠ΄Π΅ Π΄Π²ΡΡ
ΡΡΠΎΠ»Π±ΡΠΎΠ². Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΡΠΎΠ»Π±ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΡΠ»ΡΠΊΠΎΠ². ΠΡΠΎΡΠΎΠΉ ΡΡΠΎΠ»Π±Π΅Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ°ΠΊΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ, ΠΊΠ°ΠΊ QLineEdit
, QComboBox
, QSpinBox
ΠΈ Ρ. Π. ΠΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΈΠ»ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΎΡΠ½ΠΎΡΡΡΠΈΠ΅ΡΡ ΠΊ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΡΠΎΠ»Π±ΡΠ΅. ΠΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΌΠ°ΠΊΠ΅ΡΡ ΡΠΎΡΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅:
ΠΠ΅Π²ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΌΠ΅ΡΠΎΠΊ, Π° ΠΏΡΠ°Π²ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² ΠΏΠΎΠ»Π΅ΠΉ.ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΡΠ°ΠΊΠΎΠΉ Π²ΠΈΠ΄ ΠΌΠ°ΠΊΠ΅ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠΎΡΠΌ.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅Π΅ ΠΎΠ±ΡΠ΅ΠΊΡ QFormLayout
Π΄Π»Ρ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π½ΠΈΡ ΡΠ²ΠΎΠΈΡ
Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ²:
1 # ΠΠΌΡ ΡΠ°ΠΉΠ»Π°: f_layout.py
2
3 "" "ΠΡΠΈΠΌΠ΅Ρ ΠΌΠ°ΠΊΠ΅ΡΠ° ΡΠΎΡΠΌΡ." ""
4
5import sys
6
7ΠΈΠ· PyQt5. QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QApplication
8ΠΈΠ· PyQt5. QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΡΡ QFormLayout
9 ΠΈΠ· PyQt5.QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QLineEdit
10 ΠΈΠ· PyQt5. QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QWidget
11
12app = QApplication (sys.argv)
13window = QWidget ()
14window.setWindowTitle ('QFormLayout')
15layout = QFormLayout ()
16layout.addRow ('ΠΠΌΡ:', QLineEdit ())
17layout.addRow ('ΠΠΎΠ·ΡΠ°ΡΡ:', QLineEdit ())
18layout.addRow ('ΠΠ°Π΄Π°Π½ΠΈΠ΅:', QLineEdit ())
19layout.addRow ('Π₯ΠΎΠ±Π±ΠΈ:', QLineEdit ())
20window.setLayout (ΠΌΠ°ΠΊΠ΅Ρ)
21window.show ()
22sys.exit (ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.exec_ ())
Π‘ΡΡΠΎΠΊΠΈ Ρ 15 ΠΏΠΎ 20 Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΠΆΠ΅Π»ΡΡ ΡΠ°Π±ΠΎΡΡ Π² ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ QFormLayout
ΠΈΠΌΠ΅Π΅Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ .addRow ()
. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄, ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΌΠ°ΠΊΠ΅Ρ ΡΡΡΠΎΠΊΡ Ρ Π΄Π²ΡΠΌΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°ΠΌΠΈ. ΠΠ΅ΡΠ²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ .addRow ()
Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΌΠ΅ΡΠΊΠΎΠΉ, Π° Π²ΡΠΎΡΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π»ΡΠ±ΡΠΌ Π΄ΡΡΠ³ΠΈΠΌ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΈΠ»ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅.
ΠΡΠ»ΠΈ Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΠΎΡ ΠΊΠΎΠ΄, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ΅ Π²ΡΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ ΠΌΠ°ΠΊΠ΅Ρ ΡΠΎΡΠΌΡ. ΠΠ΅ΡΠ²ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ΅ΡΠΊΠΈ, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΡΠΎΡΠΈΡΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. ΠΠΎ Π²ΡΠΎΡΠΎΠΌ ΡΡΠΎΠ»Π±ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΈΠ»ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΡΡ Ρ Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
ΠΠΈΠ°Π»ΠΎΠ³ΠΈ
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ PyQt Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π΄Π²Π° ΡΠΈΠΏΠ° Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΊΠ»Π°ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³Π»Π°Π²Π½ΠΎΠΉ ΡΠΎΡΠΌΡ ΠΈΠ»ΠΈ ΠΎΠΊΠ½Π°, Ρ Π²Π°Ρ Π±ΡΠ΄Π΅Ρ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ:
- ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΡΠΈΠ»Π΅ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°: ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠΎΠΌ
QMainWindow
. - ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΡΠΈΠ»Π΅ Π΄ΠΈΠ°Π»ΠΎΠ³Π°: ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠΎΠΌ
QDialog
.
Π‘Π½Π°ΡΠ°Π»Π° Π²Ρ Π½Π°ΡΠ½Π΅ΡΠ΅ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΡΡΠΈΠ»Π΅ Π΄ΠΈΠ°Π»ΠΎΠ³Π°.Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΡΠΈΠ»Π΅ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°.
ΠΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΡΠΈΠ»Π΅ Π΄ΠΈΠ°Π»ΠΎΠ³Π° Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ»Π°ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ ΠΎΡ QDialog
, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π±Π°Π·ΠΎΠ²ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ Π²ΡΠ΅Ρ
Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΡ
ΠΎΠΊΠΎΠ½. ΠΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π²ΡΠ΅Π³Π΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΊΠ½ΠΎΠΌ Π²Π΅ΡΡ
Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π΄Π»Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΡΠΈΠ»Π΅ Π΄ΠΈΠ°Π»ΠΎΠ³Π°.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΠ΅ ΠΎΠΊΠ½Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Π² ΡΡΠΈΠ»Π΅ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π΄Π»Ρ ΠΊΡΠ°ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
ΠΠΎΠ³Π΄Π° Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΠ΅ ΠΎΠΊΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠ²ΡΠ·ΠΈ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ:
- ΠΠΎΠ΄Π°Π»ΡΠ½ΡΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΠ΅ ΠΎΠΊΠ½Π°: Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ Π²Π²ΠΎΠ΄ Π² Π»ΡΠ±ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ Π²ΠΈΠ΄ΠΈΠΌΡΠ΅ ΠΎΠΊΠ½Π° Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, Π²ΡΠ·Π²Π°Π²
.exec_ ()
. - ΠΠ΅ΠΌΠΎΠ΄Π°Π»ΡΠ½ΡΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΈ: ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ
ΠΎΠΊΠΎΠ½ Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π½Π΅ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ
.show ()
.
ΠΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΠ΅ ΠΎΠΊΠ½Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΈΠΌΠ΅ΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, OK
ΠΈ ΠΡΠΌΠ΅Π½Π°
).
ΠΠΈΠ°Π»ΠΎΠ³ Π²ΡΠ΅Π³Π΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠΌ Π²Π΅ΡΡ
Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ. ΠΡΠ»ΠΈ Ρ Π½Π΅Π³ΠΎ Π΅ΡΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ
, ΡΠΎ Π΅Π³ΠΎ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ΅Π½ΡΡΠΈΡΡΠ΅ΡΡΡ Π½Π°Π΄ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΌ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠΌ Π²Π΅ΡΡ
Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ. Π ΡΡΠΎΠΌ Π΄ΠΈΠ°Π»ΠΎΠ³Π΅ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π·Π°ΠΏΠΈΡΡ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Π·Π°Π΄Π°Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ
Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°, ΡΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΡ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Π·Π°Π΄Π°Ρ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π±Ρ QDialog
Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΡΠΈΠ»Π΅ Π΄ΠΈΠ°Π»ΠΎΠ³Π°:
1 # ΠΠΌΡ ΡΠ°ΠΉΠ»Π°: Π΄ΠΈΠ°Π»ΠΎΠ³.ΡΡ
2
3 "" "ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΡΠΈΠ»Π΅ Π΄ΠΈΠ°Π»ΠΎΠ³Π°." ""
4
5import sys
6
7ΠΈΠ· PyQt5. QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QApplication
8ΠΈΠ· PyQt5. QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QDialog
9ΠΈΠ· PyQt5. QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QDialogButtonBox
10 ΠΈΠ· PyQt5. QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΡΡ QFormLayout
11 ΠΈΠ· PyQt5. QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QLineEdit
12 ΠΈΠ· PyQt5. QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΡΡ QVBoxLayout
13
ΠΠΈΠ°Π»ΠΎΠ³ 14 ΠΊΠ»Π°ΡΡΠΎΠ² (QDialog):
15 "" "ΠΠΈΠ°Π»ΠΎΠ³." ""
16 def __init __ (self, parent = None):
17 "" "ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡ." ""
18 super () .__ init __ (ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ)
19 self.setWindowTitle ('QDialog')
20 dlgLayout = QVBoxLayout ()
21 formLayout = QFormLayout ()
22 formLayout.addRow ('ΠΠΌΡ:', QLineEdit ())
23 formLayout.addRow ('ΠΠΎΠ·ΡΠ°ΡΡ:', QLineEdit ())
24 formLayout.addRow ('ΠΠ°Π΄Π°Π½ΠΈΠ΅:', QLineEdit ())
25 formLayout.addRow ('Π₯ΠΎΠ±Π±ΠΈ:', QLineEdit ())
26 dlgLayout.addLayout (formLayout)
27 btns = QDialogButtonBox ()
28 btns.setStandardButtons (
29 QDialogButtonBox.Cancel | QDialogButtonBox.Ok)
30 dlgLayout.addWidget (btns)
31 self.setLayout (dlgLayout)
32
33 Π΅ΡΠ»ΠΈ __name__ == '__main__':
34 ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ = QApplication (sys.argv)
35 dlg = ΠΠΈΠ°Π»ΠΎΠ³ ()
36 Π΄Π».ΠΠΎΠΊΠ°Π·Π°ΡΡ()
37 ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π²ΡΡ
ΠΎΠ΄ (app.exec_ ())
ΠΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅. ΠΠΎΡ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ:
- Π‘ΡΡΠΎΠΊΠ° 14 ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΏΠΎΠ»Π½ΡΠΉ ΠΊΠ»Π°ΡΡ
Dialog
Π΄Π»Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ ΠΎΡQDialog
. - Π‘ΡΡΠΎΠΊΠ° 20 Π½Π°Π·Π½Π°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ
QVBoxLayout
dlgLaout
. - Π‘ΡΡΠΎΠΊΠ° 21 Π½Π°Π·Π½Π°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ
QVFormLayout
Π΄Π»ΡformLayout
. - Π‘ΡΡΠΎΠΊΠΈ Ρ 22 ΠΏΠΎ 25 Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ Π² ΡΠΎΡΠΌΡ
formLayout
. - Π‘ΡΡΠΎΠΊΠ° 26 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ
dlgLayout
Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² Π² ΡΠΎΡΠΌΠ΅. - Π‘ΡΡΠΎΠΊΠ° 27 ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ.
- Π‘ΡΡΠΎΠΊΠΈ 28 ΠΈ 29 Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π΄Π²Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ:
Ok
ΠΈCancel
. - Π‘ΡΡΠΎΠΊΠΈ Ρ 33 ΠΏΠΎ 37 Π·Π°ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ°Π±Π»ΠΎΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ Π²
if __name__ == '__main__':
ΠΈΠ΄ΠΈΠΎΠΌΠ°. ΠΡΠΎ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π»ΡΡΡΠ΅ΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΎΠΉ Π΄Π»Ρ ΠΏΠΈΡΠΎΠ½ΠΈΡΡΠΎΠ².
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΡΡΠΎΠΊΡ 26 Π² Π±Π»ΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π° Π²ΡΡΠ΅, ΡΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΠ΅, ΡΡΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Ρ Π΄ΡΡΠ³ Π² Π΄ΡΡΠ³Π°.ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π»ΠΎΠΆΠΈΡΡ ΠΌΠ°ΠΊΠ΅ΡΡ, Π²ΡΠ·Π²Π°Π² .addLayout ()
Π² ΠΌΠ°ΠΊΠ΅ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π² Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΠΌΠ°ΠΊΠ΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΡΡΠΎΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Ρ.
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΎΠΊΠ½ΠΎ:
ΠΡΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΡΠΎΠ·Π΄Π°Π»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ QFormLayout
Π΄Π»Ρ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² ΠΈ QVBoxLayout
Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΌΠ°ΠΊΠ΅ΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ( dlgLayout
Π² ΡΡΡΠΎΠΊΠ΅ 20).
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΠΊΠ½Π°
Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π²Π°ΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ Π±ΡΠ΄ΡΡ Π² ΡΡΠΈΠ»Π΅ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° .ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Ρ Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΡΡΡΠΎΠΊΠ° ΠΌΠ΅Π½Ρ, Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ°Π½Π΅Π»Π΅ΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΡΡΡΠΎΠΊΠ° ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. Π’Π°ΠΊΠΆΠ΅ ΡΠ°ΡΡΠΎ Π² Π²Π°ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΡ ΠΎΠΊΠΎΠ½ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
ΠΡ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡ QMainWindow
Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΡΡΠΈΠ»Π΅ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°. ΠΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΎΡ QMainWindow
, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠ»Π°ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. ΠΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ°, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΡ QMainWindow
, ΡΡΠΈΡΠ°Π΅ΡΡΡ Π³Π»Π°Π²Π½ΡΠΌ ΠΎΠΊΠ½ΠΎΠΌ . QMainWindow
ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΡΠ½ΠΎΠ²Ρ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π£ ΠΊΠ»Π°ΡΡΠ° Π΅ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΌΠ°ΠΊΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ:
ΠΠ΄Π½Π° ΡΡΡΠΎΠΊΠ° ΠΌΠ΅Π½Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΊΠ½Π°. Π‘ΡΡΠΎΠΊΠ° ΠΌΠ΅Π½Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ°Π½Π΅Π»Π΅ΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΠΏΠΎ Π±ΠΎΠΊΠ°ΠΌ ΠΎΠΊΠ½Π°. ΠΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π΄ΡΡΠ³ΠΈΡ Π²ΠΈΠ΄ΠΎΠ² Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ
QComboBox
,QSpinBox
ΠΈ Π΄ΡΡΠ³ΠΈΡ .ΠΠ΄ΠΈΠ½ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠ΅Π½ΡΡΠ΅ ΠΎΠΊΠ½Π°. Π¦Π΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΈΠ»ΠΈ ΡΠΎΡΡΠ°Π²Π½ΡΠΌ.
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² Π΄ΠΎΠΊ-ΡΡΠ°Π½ΡΠΈΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π²ΠΎΠΊΡΡΠ³ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°. ΠΠΈΠ΄ΠΆΠ΅ΡΡ Π΄ΠΎΠΊ-ΡΡΠ°Π½ΡΠΈΠΈ - ΡΡΠΎ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠ΅ ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΡΠ΅ ΠΎΠΊΠ½Π°.
ΠΠ΄Π½Π° ΡΡΡΠΎΠΊΠ° ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²Π½ΠΈΠ·Ρ ΠΎΠΊΠ½Π°. Π ΡΡΡΠΎΠΊΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π±Π΅Π· ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°.Π£ Π²Π°Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ QWidget
Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ .setCentralWidget ()
. ΠΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ° Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ, Π½ΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ ΡΠΎΡΡΠ°Π²Π½ΠΎΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΊΠΎΠ΄Π° ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ QMainWindow
Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΡΠΈΠ»Π΅ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°:
1 # ΠΠΌΡ ΡΠ°ΠΉΠ»Π°: main_window.ΡΡ
2
3 "" "ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΡΠΈΠ»Π΅ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°." ""
4
5import sys
6
7ΠΈΠ· PyQt5. QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QApplication
8ΠΈΠ· PyQt5. QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QLabel
9ΠΈΠ· PyQt5. QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QMainWindow
10 ΠΈΠ· PyQt5. QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QStatusBar
11 ΠΈΠ· PyQt5. QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QToolBar
12
ΠΠΊΠ½ΠΎ ΠΊΠ»Π°ΡΡΠ° 13 (QMainWindow):
14 "" "ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ." ""
15 def __init __ (self, parent = None):
16 "" "ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡ." ""
17 super () .__ init __ (ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ)
18 self.setWindowTitle ('QMainWindow')
19 self.setCentralWidget (QLabel (Β«Π― ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΉ Π²ΠΈΠ΄ΠΆΠ΅ΡΒ»))
20 ΡΠ°ΠΌ._createMenu ()
21 self._createToolBar ()
22 self._createStatusBar ()
23
24 def _createMenu (ΡΠ°ΠΌ):
25 self.menu = self.menuBar (). AddMenu ("& ΠΠ΅Π½Ρ")
26 self.menu.addAction ('& Exit', self.close)
27
28 def _createToolBar (ΡΠ°ΠΌ):
29 ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² = QToolBar ()
30 self.addToolBar (ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ)
31 tools.addAction ('ΠΡΡ
ΠΎΠ΄', self.close)
32
33 def _createStatusBar (ΡΠ°ΠΌ):
34 ΡΡΠ°ΡΡΡ = QStatusBar ()
35 status.showMessage (Β«Π― - ΡΡΡΠΎΠΊΠ° ΡΠΎΡΡΠΎΡΠ½ΠΈΡΒ»)
36 ΡΠ°ΠΌ.setStatusBar (ΡΡΠ°ΡΡΡ)
37
38 Π΅ΡΠ»ΠΈ __name__ == '__main__':
39 ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ = QApplication (sys.argv)
40 ΠΏΠΎΠ±Π΅Π΄ = ΠΠΊΠ½ΠΎ ()
41 win.show ()
42 sys.exit (app.exec_ ())
ΠΠΎΡ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΡΠΎΡ ΠΊΠΎΠ΄:
- Π‘ΡΡΠΎΠΊΠ° 13 ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΊΠ»Π°ΡΡ
Window
, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ ΠΎΡQMainWindow
. - Π‘ΡΡΠΎΠΊΠ° 18 ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΠΊΠ½Π°.
- Π‘ΡΡΠΎΠΊΠ° 19 ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ
QLabel
Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°. - Π‘ΡΡΠΎΠΊΠΈ Ρ 20 ΠΏΠΎ 22 Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΠ°ΡΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΡΡΡΠΎΠΊΠ°Ρ
Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°:
- Π‘ΡΡΠΎΠΊΠΈ Ρ 24 ΠΏΠΎ 26 ΡΠΎΠ·Π΄Π°ΡΡ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ.
- Π‘ΡΡΠΎΠΊΠΈ Ρ 28 ΠΏΠΎ 31 ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠ°Π½Π΅Π»Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ².
- Π‘ΡΡΠΎΠΊΠΈ Ρ 33 ΠΏΠΎ 36 ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΡΠΎΠΊΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠΎΠ³Π΄Π° Π²Ρ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π² ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Π΅, Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠ°Π΅ΠΌΡΠΌ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΡΠΌ Π΄Π»Ρ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π²Π°ΠΌ Π½ΡΠ°Π²ΠΈΡΡΡ.
ΠΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΊΠΎΠ΄, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΎΠΊΠ½ΠΎ:
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΡΠΈΠ»Π΅ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ:
- ΠΠ΄Π½ΠΎ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ
ΠΠ΅Π½Ρ
- ΠΠ΄Π½Π° ΠΏΠ°Π½Π΅Π»Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ
ΠΠ½ΠΎΠΏΠΊΠ° Π²ΡΡ ΠΎΠ΄Π°
- ΠΠ΄ΠΈΠ½ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ (ΠΎΠ±ΡΠ΅ΠΊΡ
QLabel
) - ΠΠ΄Π½Π° ΡΡΡΠΎΠΊΠ° ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π²Π½ΠΈΠ·Ρ ΠΎΠΊΠ½Π°
ΠΡΠ°ΠΊ, Π²Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π½Π°Π±ΠΎΡΠ° Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² PyQt5.Π ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π΄Π²ΡΡ ΡΠ°Π·Π΄Π΅Π»Π°Ρ Π²Ρ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΠ΅ΡΡ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π²Π°ΠΆΠ½ΡΠΌΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΠΌΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌΠΈ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ PyQt Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠ»Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ PyQt GUI, - ΡΡΠΎ QApplication
. ΠΡΠΎΡ ΠΊΠ»Π°ΡΡ Π»Π΅ΠΆΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π΅ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ PyQt. ΠΠ½ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΡΠΎΠΊΠΎΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ. Π PyQt Π»ΡΠ±ΠΎΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ QApplication
ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ . ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ PyQt GUI Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡ QApplication
.ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΠ΅ΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ:
- ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ
- ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π° ΡΠΎΠ±ΡΡΠΈΠΉ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ
- ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΎΠ±ΡΠ΅ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΈ ΠΎΠ±ΡΠ΅ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ
- ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ°Π·ΠΌΠ΅Ρ ΡΠΊΡΠ°Π½Π° ΠΈ Ρ. Π.
- ΠΠ½Π°Π»ΠΈΠ· ΠΎΠ±ΡΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
- ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ Π²ΠΈΠ΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
- ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ
ΠΡΠΎ Π»ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ QApplication
.ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ PyQt Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ!
ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΡ
Π·Π°Π΄Π°Ρ QApplication
ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π° ΡΠΎΠ±ΡΡΠΈΠΉ ΠΈ Π²ΡΠ΅Π³ΠΎ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΈΠΊΠ» ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ.
Π¦ΠΈΠΊΠ»Ρ ΡΠΎΠ±ΡΡΠΈΠΉ
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΠ±ΡΡΠΈΠΉΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ . ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² ΠΎΡΠ²Π΅Ρ Π½Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π²ΡΠ±ΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈΠ· ΠΏΠΎΠ»Ρ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ, Π²Π²ΠΎΠ΄ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ° ΠΏΡΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅ΠΊΡΡΠ°, Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ΅ ΠΈ Ρ. Π.ΠΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ .
Π‘ΠΎΠ±ΡΡΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΡΠΈΠΊΠ»ΠΎΠΌ ΡΠΎΠ±ΡΡΠΈΠΉ (ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΡΠΈΠΊΠ»ΠΎΠΌ ). Π¦ΠΈΠΊΠ» ΡΠΎΠ±ΡΡΠΈΠΉ - ΡΡΠΎ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ», Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Π²ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΎΠΊΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ Π»ΡΠ±ΡΡ Π΄ΡΡΠ³ΠΈΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ². Π¦ΠΈΠΊΠ» ΡΠΎΠ±ΡΡΠΈΠΉ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΡΠΎΠ±ΡΡΠΈΡ, Π° Π·Π°ΡΠ΅ΠΌ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π΅Π³ΠΎ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ. Π¦ΠΈΠΊΠ» ΡΠΎΠ±ΡΡΠΈΠΉ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΠΏΠΎΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΎ.
Π¦ΠΈΠΊΠ»Ρ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π²ΡΠ΅ΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.Π¦ΠΈΠΊΠ» ΡΠΎΠ±ΡΡΠΈΠΉ - ΡΡΠΎ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ΄Π° Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ», ΠΎΠΆΠΈΠ΄Π°ΡΡΠΈΠΉ Π½Π°ΡΡΡΠΏΠ»Π΅Π½ΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ. ΠΡΠ»ΠΈ ΡΠΎΠ±ΡΡΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ, ΡΠΈΠΊΠ» ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΡΠΎΠ±ΡΡΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅ΠΌ Terminate
. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΈΠΊΠ» Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ, ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΊΡΡΠ²Π°Π΅ΡΡΡ. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΎΠ±ΡΡΠΈΠ΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΈ ΡΠΈΠΊΠ» Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠ½ΠΎΠ²Π°.
Π PyQt Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΈΠΊΠ» ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²ΡΠ·Π²Π°Π² .exec_ ()
Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° QApplication
.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. PyQt Π±ΡΠ» Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π΄Π»Ρ Python 2, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΆΠ΅ Π΅ΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ exec
.Π Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΠΈΡ
Π²Π΅ΡΡΠΈΡΡ
Π² ΠΊΠΎΠ½Π΅Ρ .exec_ ()
Π΄ΠΎΠ±Π°Π²Π»ΡΠ»ΠΎΡΡ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΠΈΠΌΠ΅Π½.
PyQt5 Π½Π°ΡΠ΅Π»Π΅Π½ Π½Π° Python 3, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π΅Ρ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° exec
. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π²Π° ΠΌΠ΅ΡΠΎΠ΄Π°, Π·Π°ΠΏΡΡΠΊΠ°ΡΡΠΈΡ
ΡΠΈΠΊΠ» ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ:
-
.exec_ ()
-
.exec ()
ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π°Π»ΠΈΡΡ .exec_ ()
ΠΈΠ· ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°, Π° Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ .exec ()
.
Π§ΡΠΎΠ±Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ Π·Π°ΠΏΡΡΠΊΠ°Π»ΠΎ ΠΎΡΠ²Π΅ΡΠ½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ²ΡΠ·Π°ΡΡ ΡΠΎΠ±ΡΡΠΈΠ΅ Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ.Π PyQt5 Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΠΈ ΡΠ»ΠΎΡΠΎΠ². ΠΡ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΡΠ΅ ΠΎΠ± ΡΡΠΎΠΌ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅.
Π‘ΠΈΠ³Π½Π°Π»Ρ ΠΈ ΡΠ»ΠΎΡΡ
ΠΠΈΠ΄ΠΆΠ΅ΡΡ PyQt Π΄Π΅ΠΉΡΡΠ²ΡΡΡ ΠΊΠ°ΠΊ ΡΠ»Π°Π²Π»ΠΈΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΡΠΎΠ±ΡΡΠΈΠΉ . ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠ»Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΠ±ΡΡΠΈΠΉ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΠ΅Π»ΡΠΊΠΈ ΠΌΡΡΠΈ, Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ ΠΈ Ρ. Π. Π ΠΎΡΠ²Π΅Ρ Π½Π° ΡΡΠΈ ΡΠΎΠ±ΡΡΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ Π²ΡΠ΅Π³Π΄Π° Π²ΡΠ΄Π°ΡΡ ΡΠΈΠ³Π½Π°Π» , ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ΄Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΎΠ±ΡΡΠ²Π»ΡΡΡΠΈΠΌ ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ.
Π‘ΠΈΠ³Π½Π°Π» ΡΠ°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ.ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΡΠΈΠ³Π½Π°Π» Π·Π°ΠΏΡΡΠΊΠ°Π» Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ ΠΊ ΡΠ»ΠΎΡΡ . ΠΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΡΠΈΠ³Π½Π°Π»Π° ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠΉ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΠΉ Python (ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² ) Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ»ΠΎΡΠ°.
ΠΡΠ»ΠΈ ΡΠΈΠ³Π½Π°Π» ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΊ ΡΠ»ΠΎΡΡ, ΡΠΎ ΡΠ»ΠΎΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΡΠΈΠ³Π½Π°Π» ΠΈΡΠΏΡΡΠΊΠ°Π΅ΡΡΡ. ΠΡΠ»ΠΈ ΡΠΈΠ³Π½Π°Π» Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ Π½ΠΈ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡ ΡΠ»ΠΎΡΡ, Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΈ ΡΠΈΠ³Π½Π°Π» ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ. ΠΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°:
- Π‘ΠΈΠ³Π½Π°Π» ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΡΠ»ΠΎΡΠ°ΠΌ.
- Π‘ΠΈΠ³Π½Π°Π» ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ²ΡΠ·Π°Π½ Ρ Π΄ΡΡΠ³ΠΈΠΌ ΡΠΈΠ³Π½Π°Π»ΠΎΠΌ.
- Π‘Π»ΠΎΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΡΠΈΠ³Π½Π°Π»Π°ΠΌ.
ΠΠ»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΈΠ³Π½Π°Π»Π° ΠΊ ΡΠ»ΠΎΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
widget.signal.connect (slot_function)
ΠΡΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡ slot_function
ΠΊ widget.signal
. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠΈΠ³Π½Π°Π»
, Π±ΡΠ΄Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ slot_function ()
.
ΠΡΠΎΡ ΠΊΠΎΠ΄ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΠΈ ΡΠ»ΠΎΡΠΎΠ²:
1 # ΠΠΌΡ ΡΠ°ΠΉΠ»Π°: signal_slots.ΡΡ
2
3 "" "ΠΡΠΈΠΌΠ΅Ρ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΠΈ ΡΠ»ΠΎΡΠΎΠ²." ""
4
5import sys
6
7ΠΈΠ· PyQt5. QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QApplication
8ΠΈΠ· PyQt5. QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QLabel
9ΠΈΠ· PyQt5. QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QPushButton
10 ΠΈΠ· PyQt5. QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΡΡ QVBoxLayout
11 ΠΈΠ· PyQt5. QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QWidget
12
13def ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ():
14 "" "Π€ΡΠ½ΠΊΡΠΈΡ ΡΠ»ΠΎΡΠ°." ""
15, Π΅ΡΠ»ΠΈ msg.text ():
16 msg.setText ("")
ΠΡΠ΅ 17:
18 msg.setText (Β«ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!Β»)
19
20app = QApplication (sys.argv)
21window = QWidget ()
22window.setWindowTitle ('Π‘ΠΈΠ³Π½Π°Π»Ρ ΠΈ ΡΠ»ΠΎΡΡ')
23layout = QVBoxLayout ()
24
25btn = QPushButton ('ΠΡΠΈΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ')
26btn.clicked.connect (ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅) # ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΡ ()
27
28layout.addWidget (btn)
29msg = QLabel ('')
30layout.addWidget (ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅)
31window.setLayout (ΠΌΠ°ΠΊΠ΅Ρ)
32window.show ()
33sys.exit (ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.exec_ ())
Π ΡΡΡΠΎΠΊΠ΅ 13 Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ()
, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ»ΠΎΡΠ°. ΠΠ°ΡΠ΅ΠΌ Π² ΡΡΡΠΎΠΊΠ΅ 26 Π²Ρ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΡΠ΅ ΡΠΈΠ³Π½Π°Π» ΠΊΠ½ΠΎΠΏΠΊΠΈ clicked
Ρ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ΠΌ ()
. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ ΠΊΠ½ΠΎΠΏΠΊΡ, Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ welcome ()
, ΠΈ msg
Π±ΡΠ΄Π΅Ρ ΡΠ΅ΡΠ΅Π΄ΠΎΠ²Π°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ Hello World!
ΠΈ ΠΏΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ°:
ΠΠΎΠ³Π΄Π° Π²Ρ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΡΠ΅ Greet
, ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Hello World! Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅
ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΈ ΠΈΡΡΠ΅Π·Π½Π΅Ρ Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΠΊΡΠ°Π½Π΅.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠ°ΠΆΠ΄ΡΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ². ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΈΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°.
ΠΡΠ»ΠΈ Π²Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠ»ΠΎΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΡ
, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ functools.partial
. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ()
ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
def ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ (ΠΊΡΠΎ):
"" "Π€ΡΠ½ΠΊΡΠΈΡ ΡΠ»ΠΎΡΠ°." ""
Π΅ΡΠ»ΠΈ msg.text ():
msg.setText ('')
Π΅ΡΠ΅:
msg.setText (Ρ'ΠΡΠΈΠ²Π΅Ρ {ΠΊΡΠΎ} ')
Π’Π΅ΠΏΠ΅ΡΡ, welcome ()
Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ who
.ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠ²ΡΠ·Π°ΡΡ ΡΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ welcome ()
Ρ ΡΠΈΠ³Π½Π°Π»ΠΎΠΌ btn.clicked
, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ ΡΡΠΎΠ³ΠΎ:
btn.clicked.connect (functools.partial (ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅, Β«ΠΠΈΡ!Β»))
Π§ΡΠΎΠ±Ρ ΡΡΠΎΡ ΠΊΠΎΠ΄ ΡΠ°Π±ΠΎΡΠ°Π», Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ functools
. ΠΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ functools.partial ()
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Π΅Π΄Π΅Ρ ΡΠ΅Π±Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π²ΡΠ·ΠΎΠ²Ρ welcome ()
Ρ who = 'World!'
. Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ ΠΊΠ½ΠΎΠΏΠΊΡ, ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Β«Hello World!Β».
Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π½Π° ΡΡΠΈΠΊΠ΅ΡΠΊΠ΅ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΡΠ°Π½ΡΡΠ΅.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠΌΠ±Π΄Π°
Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΈΠ³Π½Π°Π»Π° ΠΊ ΡΠ»ΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ². Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π»ΡΠΌΠ±Π΄Π°
Π²ΠΌΠ΅ΡΡΠΎ functools.partial ()
.
ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΠΈ ΡΠ»ΠΎΡΠΎΠ² - ΡΡΠΎ ΡΠΎ, ΡΡΠΎ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΡΡΠΎΠ±Ρ Π²Π΄ΠΎΡ Π½ΡΡΡ ΠΆΠΈΠ·Π½Ρ Π² ΡΠ²ΠΎΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ PyQt5. ΠΡΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΡ Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π³Π»ΡΠ±ΠΆΠ΅ ΠΏΠΎΠ³ΡΡΠ·ΠΈΡΡΡΡ Π² ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΠΈ ΡΠ»ΠΎΡΠΎΠ², Π²Π·Π³Π»ΡΠ½ΡΠ² Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ PyQt5.
ΠΠ° ΡΡΠΎΠΌ Π²Ρ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠ΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ PyQt5. ΠΠ±Π»Π°Π΄Π°Ρ ΡΡΠΈΠΌΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ ΠΈ ΠΈΠΌΠ΅ΡΡΠ΅ΠΉΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π²Ρ Π³ΠΎΡΠΎΠ²Ρ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π²Ρ ΡΠΎΠ·Π΄Π°Π΄ΠΈΡΠ΅ ΡΠ²ΠΎΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ.
ΠΠ°Π²Π°ΠΉ!
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Ρ Python ΠΈ PyQt
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π²Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»Ρ-ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅-ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ (MVC). ΠΡΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ ΡΡΠΈ ΡΡΠΎΠ²Π½Ρ ΠΊΠΎΠ΄Π°, ΠΊΠ°ΠΆΠ΄ΡΠΉ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΎΠ»ΡΠΌΠΈ:
ΠΠΎΠ΄Π΅Π»Ρ Π·Π°Π±ΠΎΡΠΈΡΡΡ ΠΎ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.ΠΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π΄Π°Π½Π½ΡΠ΅. ΠΠ»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° ΠΌΠΎΠ΄Π΅Π»Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ.
ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ° Π½Π΅ΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ Π²ΡΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΡΡΡΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈ ΡΠΎΠ±ΡΡΠΈΡ. ΠΠ»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ ΠΎΠΊΠ½ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π½Π° ΡΠΊΡΠ°Π½Π΅.
ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ.ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΡ (ΠΈΠ»ΠΈ Π·Π°ΠΏΡΠΎΡΡ) ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΠΎΠ³Π΄Π° ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ (ΠΈΠ»ΠΈ Π΄Π°Π½Π½ΡΠ΅) Π² ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅, ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΏΠ΅ΡΠ΅ΡΡΠ»Π°Π΅Ρ Π΅Π³ΠΎ Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅. ΠΠ»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΡ ΠΈΠ· Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ.
ΠΠΎΡ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ MVC Π΄Π»Ρ Π½Π°ΡΡΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ:
- ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΈΠ»ΠΈ Π·Π°ΠΏΡΠΎΡ (ΡΠΎΠ±ΡΡΠΈΠ΅) Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ (GUI).
- ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»ΡΠ΅Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
- ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π·Π°ΠΏΡΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΎΡΠ²Π΅Ρ.
- ΠΠΎΠ΄Π΅Π»Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π·Π°ΠΏΡΠΎΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΡΠ²Π΅Ρ ΠΈΠ»ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ.
- ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΎΡΠ²Π΅Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅.
- ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°ΠΊΠΎΠ½Π΅Ρ Π²ΠΈΠ΄ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ.
ΠΡ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ MVC Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΊΠ΅Π»Π΅ΡΠ°
ΠΡ Π½Π°ΡΠ½Π΅ΡΠ΅ Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ°ΡΠΊΠ°ΡΠ° Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ pycalc.py
. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ ΡΡΠΎΡ ΡΠΊΡΠΈΠΏΡ ΠΈ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Π½ΠΈΠΆΠ΅:
ΠΡΠ»ΠΈ Π²Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅ΡΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ, ΡΠΎ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ pycalc.py
Π² Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅. ΠΠ°ΡΠ΅ΠΌ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ°ΠΉΠ» Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ ΠΊΠΎΠ΄Π° ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
#! / Usr / bin / env python3
# ΠΠΌΡ ΡΠ°ΠΉΠ»Π°: pycalc.ΡΡ
"" "PyCalc - ΡΡΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ, ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Python ΠΈ PyQt5." ""
import sys
# ΠΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QApplication ΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ ΠΈΠ· PyQt5.QtWidgets
ΠΈΠ· PyQt5.QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QApplication
ΠΈΠ· PyQt5.QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QMainWindow
ΠΈΠ· PyQt5.QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QWidget
__version__ = '0,1'
__author__ = 'ΠΠ΅ΠΎΠ΄Π°Π½ΠΈΡ ΠΠΎΡΠΎ Π Π°ΠΌΠΎΡ'
# Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡ QMainWindow Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°
ΠΊΠ»Π°ΡΡ PyCalcUi (QMainWindow):
"" "ΠΡΠΎΡΠΌΠΎΡΡ PyCalc (GUI)." ""
def __init __ (ΡΠ°ΠΌ):
"" "ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠ°."" "
ΡΡΠΏΠ΅Ρ () .__ init __ ()
# Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°
self.setWindowTitle ('PyCalc')
self.setFixedSize (235, 235)
# Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ
self._centralWidget = QWidget (ΡΠ°ΠΌ)
self.setCentralWidget (self._centralWidget)
# ΠΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΉ ΠΊΠΎΠ΄
def main ():
"""ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ."""
# Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ QApplication
pycalc = QApplication (sys.argv)
# ΠΠΎΠΊΠ°Π·Π°ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°
view = PyCalcUi ()
view.show ()
# ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΈΠΊΠ» ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°
sys.Π²ΡΡ
ΠΎΠ΄ (pycalc.exec_ ())
Π΅ΡΠ»ΠΈ __name__ == '__main__':
Π³Π»Π°Π²Π½ΡΠΉ()
ΠΡΠΎΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π²Π΅ΡΡ ΠΊΠΎΠ΄, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ. ΠΡ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠΊΠ΅Π»Π΅Ρ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΡΠ²ΠΎΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ. ΠΠΎΡ ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ:
Π‘ΡΡΠΎΠΊΠΈ Ρ 10 ΠΏΠΎ 12 ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈ ΠΊΠ»Π°ΡΡΡ ΠΈΠ·
PyQt5.QtWidgets
.Π‘ΡΡΠΎΠΊΠ° 18 ΡΠΎΠ·Π΄Π°Π΅Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Ρ ΠΊΠ»Π°ΡΡΠΎΠΌ
PyCalcUi
. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΠΎΡ ΠΊΠ»Π°ΡΡ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ ΠΎΡQMainWindow
.Π‘ΡΡΠΎΠΊΠ° 24 ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΠΊΠ½Π° Π½Π°
PyCalc
.Π‘ΡΡΠΎΠΊΠ° 25 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ
.setFixedSize ()
, ΡΡΠΎΠ±Ρ Π΄Π°ΡΡ ΠΎΠΊΠ½Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ. ΠΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠΊΠ½Π°.Π‘ΡΡΠΎΠΊΠ° 27 ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ
QWidget
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ³ΡΠ°Π΅Ρ ΡΠΎΠ»Ρ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°. ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Π°Ρ ΠΊΠ»Π°ΡΡ GUI Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ ΠΎΡQMainWindow
, Π²Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ.ΠΡΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡ Π±ΡΠ΄Π΅ΡΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΌ
Π΄Π»Ρ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.Π‘ΡΡΠΎΠΊΠ° 31 ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°, ΡΡΠΎ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ΠΎΠ²ΠΎΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΎΠΉ. ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΡΠΎΡΠΊΠΎΠΉ Π²Ρ ΠΎΠ΄Π° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠ½ΡΡΡΠΈ
main ()
Π²Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:- Π‘ΡΡΠΎΠΊΠ° 34 ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ
QApplication
pycalc
. - Π‘ΡΡΠΎΠΊΠ° 37 ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ
.ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ()
. - Π‘ΡΡΠΎΠΊΠ° 39 Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠΈΠΊΠ» ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ
pycalc.exec_ ()
.
- Π‘ΡΡΠΎΠΊΠ° 34 ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ
ΠΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΠΊΡΠΈΠΏΡ, Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΠΊΡΠ°Π½Π΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΎΠΊΠ½ΠΎ:
ΠΡΠΎ ΡΠΊΠ΅Π»Π΅Ρ Π²Π°ΡΠ΅Π³ΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±Π·ΠΎΡΠ°
ΠΠΌΠ΅ΡΡΠΈΠΉΡΡ Ρ Π²Π°Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½Π΅ ΠΏΠΎΡ ΠΎΠΆ Π½Π° ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ. ΠΠ°Π²Π°ΠΉΡΠ΅ Π·Π°ΠΊΠΎΠ½ΡΠΈΠΌ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π΄ΠΈΡΠΏΠ»Π΅ΠΉ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄Π»Ρ ΡΠΈΡΠ΅Π». ΠΡ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄Π»Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΈ ΠΎΡΠΈΡΡΠΊΠΈ Π΄ΠΈΡΠΏΠ»Π΅Ρ.
Π‘Π½Π°ΡΠ°Π»Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΈΠΌΠΏΠΎΡΡ Π² Π½Π°ΡΠ°Π»ΠΎ ΡΠ°ΠΉΠ»Π°:
ΠΈΠ· PyQt5.QtCore import Qt
ΠΈΠ· PyQt5.QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QGridLayout
ΠΈΠ· PyQt5.QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QLineEdit
ΠΈΠ· PyQt5.QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QPushButton
ΠΈΠ· PyQt5.QtWidgets ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ QVBoxLayout
ΠΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ QVBoxLayout
Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°. ΠΡ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ QGridLayout
Π΄Π»Ρ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π²Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΡΠ΅ QLineEdit
Π΄Π»Ρ Π΄ΠΈΡΠΏΠ»Π΅Ρ ΠΈ QPushButton
Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΎΠΊ.Π’Π΅ΠΏΠ΅ΡΡ Π² Π²Π΅ΡΡ
Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΡΠ°ΠΉΠ»Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π²ΠΎΡΠ΅ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΈΠΌΠΏΠΎΡΡΠ°.
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡ Π΄Π»Ρ PyCalcUi
:
# Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡ QMainWindow Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°
ΠΊΠ»Π°ΡΡ PyCalcUi (QMainWindow):
"" "ΠΡΠΎΡΠΌΠΎΡΡ PyCalc (GUI)." ""
def __init __ (ΡΠ°ΠΌ):
"" "ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠ°." ""
ΡΡΠΏΠ΅Ρ () .__ init __ ()
# Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°
self.setWindowTitle ('PyCalc')
self.setFixedSize (235, 235)
# Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ ΠΈ ΠΎΠ±ΡΠΈΠΉ ΠΌΠ°ΠΊΠ΅Ρ
ΡΠ΅Π±Ρ.generalLayout = QVBoxLayout ()
self._centralWidget = QWidget (ΡΠ°ΠΌ)
self.setCentralWidget (self._centralWidget)
self._centralWidget.setLayout (self.generalLayout)
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ
self._createDisplay ()
self._createButtons ()
ΠΠ΄Π΅ΡΡ Π²Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°. ΠΡ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ QVBoxLayout
, ΡΡΠΎΠ±Ρ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ Π²Π²Π΅ΡΡ
Ρ, Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² Π²ΠΈΠ΄Π΅ ΡΠ΅ΡΠΊΠΈ Π²Π½ΠΈΠ·Ρ.
ΠΠ²ΠΎΠ½ΠΊΠΈ Π½Π° ._createDisplay ()
ΠΈ ._createButtons ()
Π½Π΅ Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²Ρ Π΅ΡΠ΅ Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ ΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΈΡΠΏΡΠ°Π²ΠΈΠΌ ΡΡΠΎ, Π½Π°ΠΏΠΈΡΠ°Π² ._createDisplay ()
:
ΠΊΠ»Π°ΡΡ PyCalcUi (QMainWindow):
# Snip
def _createDisplay (ΡΠ°ΠΌ):
"" "Π‘ΠΎΠ·Π΄Π°ΡΡ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ." ""
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π²ΠΈΠ΄ΠΆΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
self.display = QLineEdit ()
# Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π΄ΠΈΡΠΏΠ»Π΅Ρ
self.display.setFixedHeight (35)
self.display.setAlignment (Qt.AlignRight)
ΡΠ΅Π±Ρ.display.setReadOnly (ΠΡΡΠΈΠ½Π°)
# ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΎΠ±ΡΠΈΠΉ ΠΌΠ°ΠΊΠ΅Ρ
self.generalLayout.addWidget (self.display)
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ QLineEdit
. ΠΠ°ΡΠ΅ΠΌ Π²Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ:
- ΠΠΈΡΠΏΠ»Π΅ΠΉ ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π²ΡΡΠΎΡΡ 35 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ.
- ΠΠ° Π΄ΠΈΡΠΏΠ»Π΅Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΡΠ΅ΠΊΡΡ Ρ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ Π»Π΅Π²ΠΎΠΌΡ ΠΊΡΠ°Ρ.
- ΠΠΈΡΠΏΠ»Π΅ΠΉ Π½Π°ΡΡΡΠΎΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΡΡΠΌΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΡΡΠΎΠΊΠ° Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ ΠΊ ΠΎΠ±ΡΠ΅ΠΌΡ ΠΌΠ°ΠΊΠ΅ΡΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Ρ generalLayout.addWidget ()
.
ΠΠ°ΡΠ΅ΠΌ Π²Ρ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΠ΅ ._createButtons ()
Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°. ΠΡ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»ΠΎΠ²Π°ΡΡ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ Π΅Π΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠ΅ΡΠΊΠ΅. ΠΡ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ QGridLayout
, ΡΡΠΎΠ±Ρ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² ΠΎΠΊΠ½Π΅ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°. ΠΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
ΠΊΠ»Π°ΡΡ PyCalcUi (QMainWindow):
# Snip
def _createButtons (ΡΠ°ΠΌ):
"" "Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ." ""
self.buttons = {}
buttonsLayout = QGridLayout ()
# Π’Π΅ΠΊΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ | ΠΏΠΎΠ·ΠΈΡΠΈΡ Π² QGridLayout
ΠΊΠ½ΠΎΠΏΠΊΠΈ = {'7': (0, 0),
'8': (0, 1),
'9': (0, 2),
'/': (0, 3),
'C': (0, 4),
'4': (1, 0),
'5': (1, 1),
'6': (1, 2),
'*': (1, 3),
'(': (1, 4),
'1': (2, 0),
'2': (2, 1),
'3': (2, 2),
'-': (2, 3),
')': (2, 4),
'0': (3, 0),
'00': (3, 1),
'.': (3, 2),
'+': (3, 3),
'=': (3, 4),
}
# Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΈΡ
Π² ΠΌΠ°ΠΊΠ΅Ρ ΡΠ΅ΡΠΊΠΈ
Π΄Π»Ρ btnText, pos Π² buttons.items ():
self.buttons [btnText] = QPushButton (btnText)
self.buttons [btnText] .setFixedSize (40, 40)
buttonsLayout.addWidget (self.buttons [btnText], pos [0], pos [1])
# ΠΠΎΠ±Π°Π²ΠΈΡΡ buttonLayout Π² ΠΎΠ±ΡΠΈΠΉ ΠΌΠ°ΠΊΠ΅Ρ
self.generalLayout.addLayout (buttonsLayout)
Π‘Π½Π°ΡΠ°Π»Π° Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΏΡΡΡΠΎΠΉ ΡΠ»ΠΎΠ²Π°ΡΡ self.ΠΊΠ½ΠΎΠΏΠΊΠΈ
, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°. ΠΠ°ΡΠ΅ΠΌ Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ»ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΡ
ΠΌΠ΅ΡΠΎΠΊ ΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΏΠΎΠ·ΠΈΡΠΈΠΉ Π² ΠΌΠ°ΠΊΠ΅ΡΠ΅ ΡΠ΅ΡΠΊΠΈ ( buttonsLayout
). ΠΠ½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° for
Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΠ΅ ΠΈΡ
ΠΊ self.buttons
ΠΈ buttonsLayout
. ΠΠ°ΠΆΠ΄Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ 40x40
ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ .setFixedSize (40, 40)
.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°, Π²Ρ ΡΠ΅Π΄ΠΊΠΎ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ Π΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ PyQt.ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ Π΅Π΄ΠΈΠ½ΠΈΡΠ° ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ (Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ QPrinter
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΎΡΠ΅ΠΊ ).
Π’Π΅ΠΏΠ΅ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ (ΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅) ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΠΎ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π½Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΡ Π½Π° Π΄ΠΈΡΠΏΠ»Π΅Π΅. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²:
-
.setDisplayText ()
Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ° Π½Π° Π΄ΠΈΡΠΏΠ»Π΅Π΅ -
.displayText ()
Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ° ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π΄ΠΈΡΠΏΠ»Π΅Ρ -
.clearDisplay ()
Π΄Π»Ρ ΠΎΡΠΈΡΡΠΊΠΈ ΡΠ΅ΠΊΡΡΠ° Π½Π° Π΄ΠΈΡΠΏΠ»Π΅Π΅
ΠΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΡΠΎΡΠΌΠΈΡΡΡΡ ΠΎΡΠΊΡΡΡΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ Π·Π°Π²Π΅ΡΡΠ°Ρ ΠΊΠ»Π°ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Python. ΠΠΎΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ:
ΠΊΠ»Π°ΡΡ PyCalcUi (QMainWindow):
# Snip
def setDisplayText (ΡΠ°ΠΌ, ΡΠ΅ΠΊΡΡ):
"" "Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΠΉ ΡΠ΅ΠΊΡΡ." ""
self.display.setText (ΡΠ΅ΠΊΡΡ)
self.display.setFocus ()
def displayText (self):
"" "ΠΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΠΉ ΡΠ΅ΠΊΡΡ." ""
Π²Π΅ΡΠ½ΡΡΡ self.display.ΡΠ΅ΠΊΡΡ()
def clearDisplay (ΡΠ°ΠΌ):
"" "ΠΡΠΈΡΡΠΈΡΡ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ." ""
self.setDisplayText ('')
ΠΠΎΡ ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ:
.setDisplayText ()
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ.setText ()
Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ° Π½Π° Π΄ΠΈΡΠΏΠ»Π΅Π΅ ΠΈ.setFocus ()
Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠΎΠΊΡΡΠ° ΠΊΡΡΡΠΎΡΠ° Π½Π° Π΄ΠΈΡΠΏΠ»Π΅Π΅..displayText ()
- ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ΅ΠΊΡΡ Π΄ΠΈΡΠΏΠ»Π΅Ρ.ΠΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΅Π»ΠΊΠ°Π΅Ρ Π·Π½Π°ΠΊ ΡΠ°Π²Π΅Π½ΡΡΠ²Π° (=
), ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.displayText ()
Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ..clearDisplay ()
ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ΅ΠΊΡΡ Π΄ΠΈΡΠΏΠ»Π΅Ρ Π² ΠΏΡΡΡΡΡ ΡΡΡΠΎΠΊΡ (''
), ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠ³ Π²Π²Π΅ΡΡΠΈ Π½ΠΎΠ²ΠΎΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.
Π’Π΅ΠΏΠ΅ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Π³ΠΎΡΠΎΠ²! ΠΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠ°ΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ:
ΠΡ Π·Π°Π²Π΅ΡΡΠΈΠ»ΠΈ ΡΠ°Π±ΠΎΡΡ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°.ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ, Π²Ρ Π·Π°ΠΌΠ΅ΡΠΈΡΠ΅, ΡΡΠΎ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ ΠΏΠΎΠΊΠ° Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ. ΠΡΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π²Ρ Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ. ΠΠ°ΡΠ΅ΠΌ Π²Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, ΡΡΠΎΠ±Ρ Π΄Π°ΡΡ ΠΆΠΈΠ·Π½Ρ Π²Π°ΡΠ΅ΠΌΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΡ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π²Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°. ΠΡΠΎΡ ΠΊΠ»Π°ΡΡ ΡΠ²ΡΠΆΠ΅Ρ Π²ΠΈΠ΄ Ρ ΠΌΠΎΠ΄Π΅Π»ΡΡ. ΠΡ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, ΡΡΠΎΠ±Ρ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ» Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π² ΠΎΡΠ²Π΅Ρ Π½Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΡ.ΠΡ Π½Π°ΡΠ½Π΅ΡΠ΅ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΈΠΌΠΏΠΎΡΡΠ°:
ΠΈΠ· functools import partial
ΠΠ²Π΅ΡΡ
Ρ pycalc.py
Π²Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΡΠ΅ partial ()
Π΄Π»Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² Ρ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ.
ΠΠ°Ρ ΠΊΠ»Π°ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ:
- ΠΠΎΡΡΡΠΏ ΠΊ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
- ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
- ΠΠ½ΠΎΠΏΠΊΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
Π½Π°ΠΆΠ°ΡΠ°
ΡΠΈΠ³Π½Π°Π»Π° Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΡΠ»ΠΎΡΠ°ΠΌΠΈ
ΠΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°.ΠΠΎΡ ΠΊΠ°ΠΊ Π²Ρ ΠΊΠΎΠ΄ΠΈΡΡΠ΅ΡΠ΅ ΠΊΠ»Π°ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°:
# Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΊΠ»Π°ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ
ΠΊΠ»Π°ΡΡ PyCalcCtrl:
"" "ΠΠ»Π°ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° PyCalc." ""
def __init __ (Ρ, ΠΏΡΠΎΡΠΌΠΎΡΡ):
"" "ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°." ""
self._view = ΠΏΡΠΎΡΠΌΠΎΡΡ
# ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΡΠΈΠ³Π½Π°Π»Ρ ΠΈ ΡΠ»ΠΎΡΡ
self._connectSignals ()
def _buildExpression (self, sub_exp):
"" "ΠΠΎΡΡΡΠΎΠΈΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅." ""
Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ = self._view.displayText () + sub_exp
self._view.setDisplayText (Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅)
def _connectSignals (ΡΠ°ΠΌ):
"" "ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ ΡΠΈΠ³Π½Π°Π»Ρ ΠΈ ΡΠ»ΠΎΡΡ."" "
Π΄Π»Ρ btnText, btn Π² self._view.buttons.items ():
Π΅ΡΠ»ΠΈ btnText ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ Π² {'=', 'C'}:
btn.clicked.connect (ΡΠ°ΡΡΠΈΡΠ½ΠΎΠ΅ (self._buildExpression, btnText))
self._view.buttons ['C']. clicked.connect (self._view.clearDisplay)
ΠΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅, ΡΡΠΎ Π΄Π°Π΅ΡΠ΅ PyCalcCtrl
ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ PyCalcUi
. ΠΡ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ»Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠ°ΡΠ΅ΠΌ Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ._buildExpression ()
Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ.ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Π² ΠΎΡΠ²Π΅Ρ Π½Π° Π²Π²ΠΎΠ΄ Π΄Π°Π½Π½ΡΡ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ._connectSignals ()
Π΄Π»Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΠΌΡΡ
ΠΊΠ½ΠΎΠΏΠΎΠΊ Ρ ._buildExpression ()
. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΡΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π½Π°ΠΆΠΈΠΌΠ°Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°. Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΡΡΠΎΠΊΠ΅ Π²Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΎΡΠΈΡΡΠΊΠΈ ( C
) ΠΊ ._view.clearDisplay ()
. ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΎΡΠΈΡΡΠΈΡ ΡΠ΅ΠΊΡΡ Π½Π° Π΄ΠΈΡΠΏΠ»Π΅Π΅.
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ ΡΡΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ main ()
:
# ΠΠΎΠ΄ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°
def main ():
"""ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ."" "
# Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ QApplication
pycalc = QApplication (sys.argv)
# ΠΠΎΠΊΠ°Π·Π°ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°
view = PyCalcUi ()
view.show ()
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°
PyCalcCtrl (ΠΏΡΠΎΡΠΌΠΎΡΡ = ΠΏΡΠΎΡΠΌΠΎΡΡ)
# ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΈΠΊΠ» ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°
sys.exit (pycalc.exec_ ())
ΠΡΠΎΡ ΠΊΠΎΠ΄ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ PyCalcCtrl (view = view)
Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ , ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. ΠΡΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡ ΡΠΈΠ³Π½Π°Π»Ρ ΠΈ ΡΠ»ΠΎΡΡ, ΡΡΠΎΠ±Ρ Π΄Π°ΡΡ Π²Π°ΡΠ΅ΠΌΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ.
ΠΡΠ»ΠΈ Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ:
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, Π² ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ΅ ΡΠΆΠ΅ Π΅ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ! Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠΎΠΈΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π½Π°ΠΆΠΈΠΌΠ°Ρ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π·Π½Π°ΠΊ ΡΠ°Π²Π΅Π½ΡΡΠ²Π° ( =
) Π΅ΡΠ΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°.
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ
ΠΠΎΠ΄Π΅Π»Ρ - ΡΡΠΎ ΡΡΠΎΠ²Π΅Π½Ρ ΠΊΠΎΠ΄Π°, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΠΉ Π·Π° Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΡ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠ° - ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ.ΠΠ°ΡΠ° ΠΌΠΎΠ΄Π΅Π»Ρ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π²Π²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π²Π°ΡΠΈΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ, Π²Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ:
ΠΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ²ΠΈΠ΄ΠΈΡ, Π΅ΡΠ»ΠΈ Π²Π²Π΅Π΄Π΅Ρ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.
Π£ Π²Π°ΡΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π±ΡΠ΄Π΅Ρ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ:
# Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°
def AssessmentExpression (Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅):
"" "ΠΡΠ΅Π½ΠΈΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅." ""
ΠΏΡΡΠ°ΡΡΡΡ:
ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ = str (eval (Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, {}, {}))
ΠΊΡΠΎΠΌΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ:
ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ = ERROR_MSG
Π²Π΅ΡΠ½ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ
ΠΠ΄Π΅ΡΡ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ eval ()
Π΄Π»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ ΡΡΡΠΎΠΊΠΈ ΠΊΠ°ΠΊ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ.Π ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅Ρ
Π° Π²Ρ Π²Π΅ΡΠ½Π΅ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ Π²Π΅ΡΠ½Π΅ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΠΈΠ΄Π΅Π°Π»ΡΠ½Π°. Π£ Π½Π΅Π³ΠΎ Π΅ΡΡΡ ΠΏΠ°ΡΠ° Π²Π°ΠΆΠ½ΡΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ:
- ΠΠ»ΠΎΠΊ
try ... except
Π½Π΅ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠ²Π°Π΅Ρ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΡΡΡΠ΅ΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΎΠΉ Π² ββPython. - Π€ΡΠ½ΠΊΡΠΈΡ ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ
eval ()
, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΡ. ΠΠ±ΡΠΈΠΉ ΡΠΎΠ²Π΅Ρ - ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡeval ()
ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π½Π°Π΄Π΅ΠΆΠ½ΡΡ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ .
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π΅Π΅ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΉ. Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΊΠ°ΠΊ Π΅ΡΡΡ.
ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠΌ
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΠΈ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ. ΠΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ PyCalcCtrl
Π±ΡΠ΄Π΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ Π·Π½Π°ΠΊΠ° ΡΠ°Π²Π΅Π½ΡΡΠ²Π° ( =
):
# Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΊΠ»Π°ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ
ΠΊΠ»Π°ΡΡ PyCalcCtrl:
"" "ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ PyCalc."" "
def __init __ (Ρ, ΠΌΠΎΠ΄Π΅Π»Ρ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅):
"" "ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°." ""
self._evaluate = ΠΌΠΎΠ΄Π΅Π»Ρ
self._view = ΠΏΡΠΎΡΠΌΠΎΡΡ
# ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΡΠΈΠ³Π½Π°Π»Ρ ΠΈ ΡΠ»ΠΎΡΡ
self._connectSignals ()
def _calculateResult (ΡΠ°ΠΌ):
"" "ΠΡΠ΅Π½ΠΈΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ." ""
ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ = self._evaluate (Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ = self._view.displayText ())
self._view.setDisplayText (ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ)
def _buildExpression (self, sub_exp):
"" "ΠΠΎΡΡΡΠΎΠΈΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅." ""
Π΅ΡΠ»ΠΈ self._view.displayText () == ERROR_MSG:
ΡΠ΅Π±Ρ._view.clearDisplay ()
Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ = self._view.displayText () + sub_exp
self._view.setDisplayText (Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅)
def _connectSignals (ΡΠ°ΠΌ):
"" "ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ ΡΠΈΠ³Π½Π°Π»Ρ ΠΈ ΡΠ»ΠΎΡΡ." ""
Π΄Π»Ρ btnText, btn Π² self._view.buttons.items ():
Π΅ΡΠ»ΠΈ btnText ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ Π² {'=', 'C'}:
btn.clicked.connect (ΡΠ°ΡΡΠΈΡΠ½ΠΎΠ΅ (self._buildExpression, btnText))
self._view.buttons ['=']. clicked.connect (self._calculateResult)
self._view.display.returnPressed.connect (self._calculateResult)
ΡΠ΅Π±Ρ._view.buttons ['C']. clicked.connect (self._view.clearDisplay)
ΠΡΠ΄Π΅Π»Π΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°. Π‘Π½Π°ΡΠ°Π»Π° Π²Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π² ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. Π’Π΅ΠΏΠ΅ΡΡ ΠΊΠ»Π°ΡΡ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΊΠ°ΠΊ ΠΎΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΡΠ°ΠΊ ΠΈ ΠΎΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠ°ΡΠ΅ΠΌ Π² ._calculateResult ()
Π²Ρ Π±Π΅ΡΠ΅ΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΈΡΠΏΠ»Π΅Ρ, ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΠ΅ Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π° Π΄ΠΈΡΠΏΠ»Π΅Π΅.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ if
ΠΊ ._buildExpression ()
, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° Π»ΠΈ ΠΎΡΠΈΠ±ΠΊΠ°.ΠΡΠ»ΠΈ Π΄Π°, ΡΠΎ Π²Ρ ΠΎΡΠΈΡΠ°Π΅ΡΠ΅ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅ΡΠ΅ Π·Π°Π½ΠΎΠ²ΠΎ Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π²Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΠ΅ Π΅ΡΠ΅ Π΄Π²Π° ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π²Π½ΡΡΡΠΈ ._connectSignals ()
. ΠΠ΅ΡΠ²ΡΠΉ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π·Π½Π°ΠΊ ΡΠ°Π²Π΅Π½ΡΡΠ²Π° ( =
). ΠΡΠΎΡΠΎΠΉ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°ΠΆΠΌΠ΅Ρ Enter , ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΎΠΆΠΈΠ΄Π°Π»ΠΎΡΡ.
Π§ΡΠΎΠ±Ρ Π²Π΅ΡΡ ΡΡΠΎΡ ΠΊΠΎΠ΄ ΡΠ°Π±ΠΎΡΠ°Π», Π½ΡΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ main ()
:
# ΠΠΎΠ΄ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°
def main ():
"""ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ."""
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ `QApplication`
pycalc = QApplication (sys.argv)
# ΠΠΎΠΊΠ°Π·Π°ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°
view = PyCalcUi ()
view.show ()
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°
ΠΌΠΎΠ΄Π΅Π»Ρ = ΠΎΡΠ΅Π½ΠΊΠ°ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
PyCalcCtrl (ΠΌΠΎΠ΄Π΅Π»Ρ = ΠΌΠΎΠ΄Π΅Π»Ρ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ = ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅)
# ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΈΠΊΠ» ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°
sys.exit (pycalc.exec_ ())
ΠΠ΄Π΅ΡΡ Π²Π°ΡΠ° ΠΌΠΎΠ΄Π΅Π»Ρ
ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΡΠ»ΠΊΡ Π½Π° AssessmentExpression ()
. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, PyCalcCtrl ()
ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°: ΠΌΠΎΠ΄Π΅Π»Ρ
ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅
.
ΠΠ°ΠΏΡΡΠΊ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΠΈ ΠΊΠΎΠ΄, ΠΏΡΠΈΡΠ»ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ! ΠΡΠ»ΠΈ Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ ΡΡΠΎΠ³ΠΎ:
Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ PyCalc, Π²Π²Π΅Π΄ΠΈΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΡΡΠΈ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.ΠΠ°ΡΠ΅ΠΌ Π½Π°ΠΆΠΌΠΈΡΠ΅ , Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΈΠ»ΠΈ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π·Π½Π°ΠΊ ΡΠ°Π²Π΅Π½ΡΡΠ²Π° ( =
), ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π° Π΄ΠΈΡΠΏΠ»Π΅Π΅ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°.
ΠΠΎΠ·Π΄ΡΠ°Π²Π»ΡΡ! ΠΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΡΠ²ΠΎΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ Π½Π°ΡΡΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python ΠΈ PyQt!
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ°ΡΡΠΎΠ»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (GUI) ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ Π΄ΠΎΠ»Ρ ΡΡΠ½ΠΊΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. Python ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ.
Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ Π²Ρ ΡΠ·Π½Π°Π»ΠΈ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ PyQt, ΠΊΠΎΡΠΎΡΡΠΉ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π° Python. Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Python ΠΈ PyQt Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅:
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python ΠΈ PyQt
- Π‘Π²ΡΠΆΠΈΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΡ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠΌΠΈ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Python ΠΈ PyQt, ΡΡΠΎΠ±Ρ Π²Π΄ΠΎΡ Π½ΡΡΡ ΠΆΠΈΠ·Π½Ρ Π² ΡΠ²ΠΎΠΈ Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ! ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° ΠΈ Π²ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π° ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Π½ΠΈΠΆΠ΅:
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ°
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π³Π»ΡΠ±ΠΆΠ΅ ΠΏΠΎΠ³ΡΡΠ·ΠΈΡΡΡΡ Π² PyQt ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π·Π³Π»ΡΠ½ΡΡΡ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΡΡΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ²:
Π₯ΠΎΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ PyQt5 ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΌ ΡΠ΅ΡΡΡΡΠΎΠΌ, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠΌ Π·Π΄Π΅ΡΡ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π°ΠΆΠ½ΡΠ΅ ΡΠ°ΡΡΠΈ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΎΡΡΡΡΡΡΠ²ΡΡΡ ΠΈΠ»ΠΈ Π½Π΅ΠΏΠΎΠ»Π½Ρ.Π ΡΡΠ°ΡΡΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ PyQt4, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΎΠ±Π΅Π»Ρ. Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² ΠΈ ΠΊΠ»Π°ΡΡΠΎΠ².
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ PyQt4 Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ° Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠΎΠ² PyQt5, ΠΈΠΌΠ΅ΠΉΡΠ΅ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ ΠΊΠ»Π°ΡΡΡ Π±ΡΠ΄ΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π²Π΅ΡΡΠΈ ΡΠ΅Π±Ρ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ. ΠΡΡΠ³ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ - ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Qt v5 ΠΈ Π΅Π΅ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ ΠΏΠΎ ΠΊΠ»Π°ΡΡΠ°ΠΌ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ C ++, ΡΡΠΎΠ±Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ ΠΎΠ±ΡΠ°Π·ΡΡ ΠΊΠΎΠ΄Π°.
.