Справочник Программиста
6.29K subscribers
1.35K photos
387 videos
64 files
1.7K links
По рекламе - @it_start_programmer
Мои курсы - @courses_from_it_start_bot
Сайт - https://it-start.online/
YouTube - https://www.youtube.com/@it_start
Реклама на бирже - https://telega.in/c/programmersGuide_1

Предложить идею: @it_start_suggestion_bot
Download Telegram
Пишем 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()
👍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()
👍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')
👍16
сегодня без видео, надеюсь завтра успею🤔
👍15
скоро же начинается учебный год, решил выложить пару статей для новичков))
👍14😁21
Что-то пока времени не хватает на более серьёзные уроки 😅
И так, ребят, не разбегайтесь, в ближайшее время будет камбэк))
13👍1🔥1
Так, со ссылкой запоздал 😅
4👍1🔥1
Всех с 1 сентября))
7👍5😁3🎉2🤨2
Рано или поздно я наконец начну придерживаться графика, как и раньше. По крайней мере я на это надеюсь))
6👍3🔥1