Пишем GUI калькулятор на Python tkinter
Код из видео:
from tkinter import *
def btn_click(item):
global expression
try:
input_field['state'] = "normal"
expression += item
input_field.insert(END, item)
if item == '=':
result = str(eval(expression[:-1]))
input_field.insert(END, result)
expression = ""
input_field['state'] = "readonly"
except ZeroDivisionError:
input_field.delete(0, END)
input_field.insert(0, 'Ошибка (деление на 0)')
except SyntaxError:
input_field.delete(0, END)
input_field.insert(0, 'Ошибка')
def bt_clear():
global expression
expression = ""
input_field['state'] = "normal"
input_field.delete(0, END)
input_field['state'] = "readonly"
root = Tk()
root.geometry("268x288")
root.resizable(0, 0)
root.title("Калькулятор")
frame_input = Frame(root)
frame_input.grid(row=0, column=0, columnspan=4, sticky="nsew")
input_field = Entry(frame_input, font='Arial 15 bold', width=24, state="readonly")
input_field.pack(fill=BOTH)
buttons = (('7', '8', '9', '/', '4'),
('4', '5', '6', '*', '4'),
('1', '2', '3', '-', '4'),
('0', '.', '=', '+', '4')
)
expression = ''
button = Button(root, text='C', command=lambda: bt_clear())
button.grid(row=1, column=3, sticky="nsew")
for row in range(4):
for col in range(4):
Button(root, width=2, height=3, text=buttons[row][col],
command=lambda row=row, col=col: btn_click(buttons[row][col])).grid \
(row=row + 2, column=col, sticky="nsew", padx=1, pady=1)
root.mainloop()
Код из видео:
from tkinter import *
def btn_click(item):
global expression
try:
input_field['state'] = "normal"
expression += item
input_field.insert(END, item)
if item == '=':
result = str(eval(expression[:-1]))
input_field.insert(END, result)
expression = ""
input_field['state'] = "readonly"
except ZeroDivisionError:
input_field.delete(0, END)
input_field.insert(0, 'Ошибка (деление на 0)')
except SyntaxError:
input_field.delete(0, END)
input_field.insert(0, 'Ошибка')
def bt_clear():
global expression
expression = ""
input_field['state'] = "normal"
input_field.delete(0, END)
input_field['state'] = "readonly"
root = Tk()
root.geometry("268x288")
root.resizable(0, 0)
root.title("Калькулятор")
frame_input = Frame(root)
frame_input.grid(row=0, column=0, columnspan=4, sticky="nsew")
input_field = Entry(frame_input, font='Arial 15 bold', width=24, state="readonly")
input_field.pack(fill=BOTH)
buttons = (('7', '8', '9', '/', '4'),
('4', '5', '6', '*', '4'),
('1', '2', '3', '-', '4'),
('0', '.', '=', '+', '4')
)
expression = ''
button = Button(root, text='C', command=lambda: bt_clear())
button.grid(row=1, column=3, sticky="nsew")
for row in range(4):
for col in range(4):
Button(root, width=2, height=3, text=buttons[row][col],
command=lambda row=row, col=col: btn_click(buttons[row][col])).grid \
(row=row + 2, column=col, sticky="nsew", padx=1, pady=1)
root.mainloop()
👍20
И так, сегодня я постарел на 1 год, а ещё сегодня выйдет новое интересное видео ;)
🎉40
Добавляем значок в системный трей Windows на Python
Код из ыидео:
import pystray
import PIL.Image
image = PIL.Image.open("logo.png")
def on_clicked(icon, item):
if str(item) == 'Нажми на меня':
print('Вы нажали на пункт меню')
elif str(item) == 'Пример':
a = 10
b = 5
result = int(input('Решите пример: {} + {}\n'.format(a, b)))
if result == (a + b):
print('Молодец!')
else:
print('Неверно :(')
elif str(item) == 'Привет!':
print('Привет')
elif str(item) == 'Пока!':
print('Пока')
elif str(item) == 'Выход':
icon.stop()
icon = pystray.Icon('ITStart', image, menu=pystray.Menu(
pystray.MenuItem('Приветствие/прощание', pystray.Menu(
pystray.MenuItem('Привет!', on_clicked),
pystray.MenuItem('Пока!', on_clicked),
)),
pystray.MenuItem('Нажми на меня', on_clicked),
pystray.MenuItem('Пример', on_clicked),
pystray.MenuItem('Выход', on_clicked)
))
icon.run()
Код из ыидео:
import pystray
import PIL.Image
image = PIL.Image.open("logo.png")
def on_clicked(icon, item):
if str(item) == 'Нажми на меня':
print('Вы нажали на пункт меню')
elif str(item) == 'Пример':
a = 10
b = 5
result = int(input('Решите пример: {} + {}\n'.format(a, b)))
if result == (a + b):
print('Молодец!')
else:
print('Неверно :(')
elif str(item) == 'Привет!':
print('Привет')
elif str(item) == 'Пока!':
print('Пока')
elif str(item) == 'Выход':
icon.stop()
icon = pystray.Icon('ITStart', image, menu=pystray.Menu(
pystray.MenuItem('Приветствие/прощание', pystray.Menu(
pystray.MenuItem('Привет!', on_clicked),
pystray.MenuItem('Пока!', on_clicked),
)),
pystray.MenuItem('Нажми на меня', on_clicked),
pystray.MenuItem('Пример', on_clicked),
pystray.MenuItem('Выход', on_clicked)
))
icon.run()
👍12👎1
Разделение экранов видео Split Screen на Python
Код из видео:
from moviepy.editor import VideoFileClip, clips_array
clip1 = VideoFileClip("v1.mp4").subclip(0, 2).margin(5)
clip2 = VideoFileClip("v2.mp4").subclip(0, 2).margin(5)
clip3 = VideoFileClip("v3.mp4").subclip(0, 2).margin(5)
clip4 = VideoFileClip("v4.mp4").subclip(0, 2).margin(5)
combined = clips_array([[clip1, clip2],
[clip3, clip4]])
combined.write_videofile('output.mp4')
Код из видео:
from moviepy.editor import VideoFileClip, clips_array
clip1 = VideoFileClip("v1.mp4").subclip(0, 2).margin(5)
clip2 = VideoFileClip("v2.mp4").subclip(0, 2).margin(5)
clip3 = VideoFileClip("v3.mp4").subclip(0, 2).margin(5)
clip4 = VideoFileClip("v4.mp4").subclip(0, 2).margin(5)
combined = clips_array([[clip1, clip2],
[clip3, clip4]])
combined.write_videofile('output.mp4')
👍16
скоро же начинается учебный год, решил выложить пару статей для новичков))
👍14😁2❤1
И так, ребят, не разбегайтесь, в ближайшее время будет камбэк))
❤13👍1🔥1
Думаю отличная тема для статьи в этот день!
https://it-start.online/articles/vyvod-tablicy-umnozhenija-v-python
https://it-start.online/articles/vyvod-tablicy-umnozhenija-v-python
IT Start
Вывод таблицы умножения в Python - IT Start
Вывод таблицы умножения в Python. Разберём два способа вывода таблицы умножения в Python. Вывод таблицы умножения циклом while и for.
👍9❤2🔥1
Рано или поздно я наконец начну придерживаться графика, как и раньше. По крайней мере я на это надеюсь))
⚡6👍3🔥1