import tkinter as tk
root = tk.Tk()
root.wm_title("Circles and Arcs")
ww = 1000
wh = 1000
sw = root.winfo_screenwidth() #Расположение окна по центру экрана
sh = root.winfo_screenheight() #
wx = (sw - ww)/2 #
wy = (sh - wh)/2 #
root.geometry('%dx%d+%d+%d' % (ww, wh, wx, wy)) #
canvas = tk.Canvas(root, width=ww, height=wh, borderwidth=0, highlightthickness=0, bg="black") #Канвас
canvas.grid()
size_kef = 10 #Кэф изначального размера шарика
grow_kef = 5 #Кэф скорости роста
grow_delay = 100 #Задержка в милисекундах
x0 = ww/2-size_kef #Установка изначального размера шарика
y0 = wh/2-size_kef #
x1 = ww/2+size_kef #
y1 = wh/2+size_kef #
coordx = x0, y0, x1, y1 #
orb = canvas.create_oval(coordx, fill="blue", outline="", width=4) #Шарик
def stop(): #Завершение роста по достижению границ окна
print("stop")
canvas.itemconfig(orb, fill="green")
def grow():
global x0, y0, x1, y1
print((x1-x0))
x0 -= grow_kef #Изменение размера шарика
y0 -= grow_kef #
x1 += grow_kef #
y1 += grow_kef #
coordx = x0, y0, x1, y1 #
canvas.coords(orb, coordx) #
if (x1-x0)<=ww or (y1-y0)<=wh:
canvas.after(grow_delay, grow) #Обращение функции к самой себе через задержку (.after())
if (x1-x0)>=ww or (y1-y0)>=wh: #Здесь ограничение на рост (граница - размеры окна)
stop()
grow() #Первичный вызов функции
root.mainloop()
#Импорты
from tkinter.font import Font
#<<<<<<<<<<<<<<<<<<<<<<<
#Создание окна и канваса
#>>>>>>>>>>>>>>>>>>>>>>>
kef1 = 1.13 #Кэф изменения длины линии (↑↑)
kef2 = kef1*2 #Кэф изменения расстояния вниз от текста (↑↓) "2" тоже норм
kef3 = 5 #Шаг изменения величины шрифта (↑↑)
kef4 = 1 #Кэф изменения толщины линии (↑↑)
font_size = 10 #Размер шрифта
font = Font(family="TkDefaultFont", size=font_size, weight="bold") #Параметры шрифта
line_metric = font.metrics("linespace") #Получение размера шрифта
clr_text = 'black' #Цвет текста
clr_line = 'red' #Цвет линии
line_w = 4 #Базовая толщина линии
line_l = line_metric*kef1 #Первичная длина линии
text = canvas.create_text(200,200, text='TEXT', font=font, fill=clr_text) #Создание текста на канвасе
x, y = canvas.coords(text) #Получение координат центра текста
line = canvas.create_line(x-line_l,y+line_l/kef2,x+line_l,y+line_l/kef2, width=line_w, fill=clr_line) #Создание линии на канвасе
def Wh_rot(event):
global font_size, line_w, kef3, kef4
if event.num == 4 or event.delta == 120: #Определение стороны вращения Mouse_Wheel
font_size+=kef3 #Изменение значения размера шрифта (+)
line_w+=kef4 #Изменение толщины линии (+)
font = Font(family="TkDefaultFont", size=font_size, weight="bold") #Параметры шрифта
canvas.itemconfig(text, font=font) #Изменение размера шрифта на канвасе (+)
line_metric = font.metrics("linespace") #Получение размера шрифта
line_l = line_metric*kef1 #Изменение значения длины линии (+)
x, y = canvas.coords(text) #Получение координат центра текста
crd = x-line_l, y+line_l/kef2, x+line_l, y+line_l/kef2 #Присваивание значения длины координатам линии
canvas.coords(line, crd) #Изменение длины линии на канвасе (+)
canvas.itemconfig(line, width=line_w) #Изменение толщины линии на канвасе (+)
else: #(-)
font_size-=kef3
if font_size<5: #Ограничение отрицательных величин
font_size=5 #^
line_w-=kef4
if line_w<1: #^
line_w=1 #^
font = Font(family="TkDefaultFont", size=font_size, weight="bold")
canvas.itemconfig(text, font=font)
line_metric = font.metrics("linespace")
line_l = line_metric*kef1
x, y = canvas.coords(text)
crd = x+line_l, y+line_l/kef2, x-line_l, y+line_l/kef2
canvas.coords(line, crd)
canvas.itemconfig(line, width=line_w)
root.bind('<MouseWheel>', Wh_rot) #Крути колесо мыши
root.mainloop()
from time import sleep
import os
process_name = 'main.py'
def process_exists():
call = 'ps ax | grep %s' % process_name
if not process_name in call:
return True
while True:
try:
a = process_exists()
if a != True :
os.system(process_name)
sleep(2)
except KeyboardInterrupt:
break
from time import sleep
import os
def process_exists():
if not 'main.py' in 'ps ax | grep main.py':
return True
while True:
try:
if process_exists() != True :
os.system('main.py')
sleep(2)
except KeyboardInterrupt:
break
@bot.message_handler(commands=["editphoto"])
def editfoto(message):
try:
kbi = telebot.types.InlineKeyboardMarkup()
btn = telebot.types.InlineKeyboardButton(text="Кнопка", callback_data='btn1')
kbi.add(btn) #!
foto1 = open('ozerx/botsend/photo1.png', 'rb')
bot.send_photo(message.chat.id, foto1, caption = "caption", reply_markup = kbi)
except:
bot.send_message(message.chat.id, "Бот не смог отправить фото!")
@bot.callback_query_handler(func=lambda call: True)
def clbk(call):
if call.data == 'btn1':
try:
foto2 = open('ozerx/botsend/photo2.png', 'rb')
bot.edit_message_media(media=telebot.types.InputMedia(type='photo', media=foto2, caption = "noitpac"), chat_id=call.message.chat.id, message_id=call.message.message_id)
except:
bot.send_message(call.message.chat.id, "Бот не смог изменить фото!")
import os #импортируем модуль "os"
@bot.message_handler(commands=["restart"]) #вызов по команде /restart; можно сделать и на кнопку
def restart(message):
pid = str(os.getpid()) #получаем ProcessID запущенного бота
restarter = open('restarter.bat', 'w') #открываем/создаем батник
restarter.write('Taskkill /PID ' + pid + ' /F\nTIMEOUT /T 5 /NOBREAK\ncd C:\\Users\\smp\\Desktop\\SMP\\\nsmp.py') #записываем скрипт в батник
restarter.close() #закрываем отредактированный батник
os.system('C:/Users/smp/Desktop/SMP/restarter.bat') #запускаем наш батник
import os
@bot.message_handler(commands=["stop"])
def stop(message):
if message.from_user.username == cfg.Father:
pid = str(os.getpid())
stoper = open('ozerx/stoper.bat', 'w')
stoper.write("Taskkill /PID " + pid + " /F")
stoper.close()
os.system('C:/Users/smp/Desktop/SMP/ozerx/stoper.bat')
else:
bot.send_message(message.chat.id, "Ты не Создатель бота; у тебя нет админ-прав, проваливай!")
# -*- coding: utf-8 -*-
#^^^Если используешь русский текст указывай кодировку на всякий случай.
import telebot
from telebot import types
token = 'здесьможетбытьвашатокешка'
bot = telebot.TeleBot(token)
@bot.message_handler(commands=['start'])
def start_message(message):
bot.send_message(message.chat.id, 'Меня зовут бот. Чем могу вам помочь?') #Здесь не надо отсылать клавиатуру, тем более ту которая не создана!
@bot.message_handler(content_types=['text'])
def get_text_messages(message):
kb = types.ReplyKeyboardMarkup()
kb.row('Калькулятор','Расписание')
kb.row('О нас','Помощь')
kb.row('Обратная связь')
bot.send_message(message.chat.id, 'К сожалению я еще не умею читать текст. Воспользуйтесь главным меню:', reply_markup=kb) #Отправка меню
#bot.send_message(message.chat.id, "Выберите пункт меню:", reply_markup=markup) - Эта строка вообще лишняя, главное меню отправляется строкой выше.
bot.polling(none_stop=True, interval=0)
# -*- coding: utf-8 -*-
import telebot, cfg, kb, lg
from telebot import types
from requests import get
bot = telebot.TeleBot(cfg.token)
@bot.message_handler(commands=['start'])
def start(message):
bot.send_sticker(message.chat.id, "CAACAgUAAxkBAAIHg18CC9ooVxBjT62AL3MZT_liQgUtAAKJAwAC6QrIA9kfvAIjYHAXGgQ") #bot.send_photo(message.chat.id,open("C:\\ЕМБ.jpg","rb"))
bot.send_message(message.chat.id, lg.hello1u + message.from_user.first_name + lg.hello2u)
bot.send_message(message.chat.id, lg.hello1e + message.from_user.first_name + lg.hello2e, reply_markup=kb.ikb1)
@bot.callback_query_handler(func=lambda c:True)
def cbinline(c):
if c.data == lg.ukr:
bot.send_message(c.message.chat.id, lg.razdelu, reply_markup=kb.ikb2u)
bot.send_message(c.message.chat.id, lg.umusthave ,reply_markup=kb.rkbu)
elif c.data == lg.eng:
bot.send_message(c.message.chat.id, lg.razdele, reply_markup=kb.ikb2e)
bot.send_message(c.message.chat.id, lg.emusthave ,reply_markup=kb.rkbe)
elif c.data == lg.ibtn1u:
bot.send_message(c.message.chat.id, lg.txt1u)
elif c.data == lg.ibtn2u:
bot.send_message(c.message.chat.id, lg.txt2u)
elif c.data == lg.ibtn3u:
bot.send_message(c.message.chat.id, lg.txt3u)
elif c.data == lg.ibtn4u:
bot.send_message(c.message.chat.id, lg.txt4u)
elif c.data == lg.ibtn5u:
bot.send_message(c.message.chat.id, lg.txt5u)
elif c.data == lg.ibtn1e:
bot.send_message(c.message.chat.id, lg.txt1e)
elif c.data == lg.ibtn2e:
bot.send_message(c.message.chat.id, lg.txt2e)
elif c.data == lg.ibtn3e:
bot.send_message(c.message.chat.id, lg.txt3e)
elif c.data == lg.ibtn4e:
bot.send_message(c.message.chat.id, lg.txt4e)
elif c.data == lg.ibtn5e:
bot.send_message(c.message.chat.id, lg.txt5e)
@bot.message_handler(content_types=['text'])
def cbreply(message):
if message.text == lg.rbtn1u:
bot.send_message(message.chat.id, lg.hello1u + message.from_user.first_name + lg.hello2u)
bot.send_message(message.chat.id, lg.hello1e + message.from_user.first_name + lg.hello2e, reply_markup=kb.ikb1)
elif message.text == lg.rbtn2u:
bot.send_message(message.chat.id, lg.endu, reply_markup=kb.kbsu)
elif message.text == lg.rbtn1e:
bot.send_message(message.chat.id, lg.hello1u + message.from_user.first_name + lg.hello2u)
bot.send_message(message.chat.id, lg.hello1e + message.from_user.first_name + lg.hello2e, reply_markup=kb.ikb1)
elif message.text == lg.rbtn2e:
bot.send_message(message.chat.id, lg.ende, reply_markup=kb.kbse)
if __name__ == '__main__':
bot.polling(none_stop=True)
token = 'цыфры:буквы'
url = "https://kmu.u.ua/oplata/"
# -*- coding: utf-8 -*-
import telebot, lg, cfg
from telebot import types
#Это сокращения клавитарских выражений
tikm = types.InlineKeyboardMarkup
trkm = types.ReplyKeyboardMarkup
tikb = types.InlineKeyboardButton
#start
ikb1 = tikm()
ibtn1 = tikb(text=lg.ukr, callback_data=lg.ukr)
ibtn2 = tikb(text=lg.eng, callback_data=lg.eng)
ikb1.add(ibtn1, ibtn2)
#Ukr main kb
ikb2u = tikm()
ibtn1 = tikb(text=lg.ibtn1u, callback_data=lg.ibtn1u)
ibtn2 = tikb(text=lg.ibtn2u, callback_data=lg.ibtn2u)
ibtn3 = tikb(text=lg.ibtn3u, callback_data=lg.ibtn3u)
ibtn4 = tikb(text=lg.ibtn4u, callback_data=lg.ibtn4u)
ibtn5 = tikb(text=lg.ibtn5u, url=cfg.url)
ikb2u.add(ibtn1, ibtn2)
ikb2u.add(ibtn3, ibtn4)
ikb2u.add(ibtn5)
#Eng main kb
ikb2e = tikm()
ibtn1 = tikb(text=lg.ibtn1e, callback_data=lg.ibtn1e)
ibtn2 = tikb(text=lg.ibtn2e, callback_data=lg.ibtn2e)
ibtn3 = tikb(text=lg.ibtn3e, callback_data=lg.ibtn3e)
ibtn4 = tikb(text=lg.ibtn4e, callback_data=lg.ibtn4e)
ibtn5 = tikb(text=lg.ibtn5e, url=cfg.url)
ikb2e.add(ibtn1, ibtn2)
ikb2e.add(ibtn3, ibtn4)
ikb2e.add(ibtn5)
#Tostart/toend
rkbu = trkm(True, True, row_width=1)
rkbu.add(lg.rbtn1u, lg.rbtn2u)
rkbe = trkm(True, True, row_width=1)
rkbe.add(lg.rbtn1e, lg.rbtn2e)
#End keyboard
kbsu = trkm(True, True, row_width=1)
kbsu.add(lg.rbtn1u)
kbse = trkm(True, True, row_width=1)
kbse.add(lg.rbtn1e)
#Buttons
ukr = "Українська"
eng = "English"
ibtn1u = "Вступ"
ibtn2u = "Післядипломна освіта"
ibtn3u = "Студенту"
ibtn4u = "Довідник контактів"
ibtn5u = "Реквізити-Оплата"
ibtn1e = "Introduction"
ibtn2e = "Postgraduate education"
ibtn3e = "To student"
ibtn4e = "Contacts Directory"
ibtn5e = "Details-Payment"
rbtn1u = "Початок"
rbtn2u = "Кінець"
rbtn1e = "To the begining"
rbtn2e = "To the end"
#Text
hello1u = "Доброго дня "
hello2u = ", Я бот-консультант Київського медичного Університету. Радий Вас вітати.Оберіть будь ласка мову спілкування.\n"
hello1e = "Good day "
hello2e = "I am a chat bot of Kyiv Medical University. Glad to welcome you. Please choose the language of communication."
razdelu = "Оберіть будь ласка розділ який Вас цікавить."
razdele = "Please select the section that interests you."
umusthave = "Також ви можете перемещатся за допомогою кнопок внизу."
emusthave = "You can also navigate using the buttons below."
txt1u = "Это текст после нажатия 'Вступ'"
txt2u = "Это текст после нажатия 'Післядипломна освіта'"
txt3u = "Это текст после нажатия 'Студенту'"
txt4u = "Это текст после нажатия 'Довідник контактів'"
txt5u = "Это текст после нажатия 'Реквізити-Оплата'"
txt1e = "Это текст после нажатия 'Introduction'"
txt2e = "Это текст после нажатия 'Postgraduate education'"
txt3e = "Это текст после нажатия 'To student'"
txt4e = "Это текст после нажатия 'Contacts Directory'"
txt5e = "Это текст после нажатия 'Details-Payment'"
endu = "Вы попали в конец!"
ende = "You in the end!"
def converter():
e2.delete(first=0,last=100)
a = kilometry.get()
a = float(a)
result = float(a * 0.621371)
e.delete(first=0,last=100)
e2.insert(0, str(result) + " миль")
***
for album_s in albums:
image = ImageTk.PhotoImage(file = str(album_s))
album_button = Button(root,
image = image,
width = 120, height = 120,
command = lambda: print('click'))
album_button.image = image
album_button.pack()
create_albums()
***
# -*- coding: utf8 -*-
from tkinter import*
import tkinter.ttk as ttk
root = Tk()
canv = Canvas(root, width=120, height=50)
canv.pack()
def click1(self):
canv.delete(z1)
def click2(self):
canv.delete(z2)
def click3(self):
canv.delete(z3)
z1 = canv.create_text(20, 20, anchor=W, font=("Purisa", 20), text = 1, tag=1)
z2 = canv.create_text(50, 20, anchor=W, font=("Purisa", 20), text = 2, tag=2)
z3 = canv.create_text(80, 20, anchor=W, font=("Purisa", 20), text = 3, tag=3)
canv.tag_bind(z1, '<Button-1>', click1)
canv.tag_bind(z2, '<Button-1>', click2)
canv.tag_bind(z3, '<Button-1>', click3)
root.mainloop()
# -*- coding: utf8 -*-
from tkinter import*
import tkinter.ttk as ttk
import random
root = Tk()
root.geometry("500x500")
def z0():
btn.destroy()
canv = Canvas(root, width=500, height=500)
canv.pack()
def click(self):
global rin
global num
canv.delete(num)
dbrin = rin
print(dbrin)
z1()
def z1():
global rin
global num
rin = random.SystemRandom().choice(["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"])
xy = random.SystemRandom().choice(["50", "100", "150", "200", "250", "300", "350", "400", "450"])
yx = random.SystemRandom().choice(["450", "400", "350", "300", "250", "200", "150", "100", "50"])
x1 = xy
y1 = yx
num = canv.create_text(x1, y1, anchor=W, font=("Purisa", 20), text = rin)
canv.tag_bind(num, '<Button-1>', click)
z1()
btn = Button(root, text="START", width=10, height=5, fg="black", command=z0)
btn.pack()
root.mainloop()
# -*- coding: utf8 -*-
from tkinter import*
import tkinter.ttk as ttk
def teget():
global Toc_entry
global btn2
btn2.destroy()
btn2 = Button(root, text = Toc_entry.get())
#btn2.bind('<Button-1>', ???)
btn2.pack()
global children
children.destroy()
def Table_of_contents(event):
global children
children = Toplevel(root)
children.title("Оглавление")
global Toc_entry
Toc_entry = Entry(children)
Toc_entry.pack()
Toc_e_btn = Button(children, text = "Принять", command=teget)
Toc_e_btn.pack()
root = Tk()
root.title("Титульный лист")
#root.state('zoomed')
btn1 = Button(root, text = "Оглавление")
btn1.bind('<Button-1>', Table_of_contents)
btn1.pack()
global btn2
btn2 = Button(root, text = "Исполнитель")
#btn2.bind('<Button-1>', ???)
btn2.pack()
root.mainloop()
# -*- coding: utf8 -*-
from tkinter import *
import tkinter.ttk as ttk
from PIL import Image, ImageTk
root = Tk()
root.title("LH")
c = Canvas(root, width=500, height=500)
c.pack()
event = 123
imag1 = 0
imag2 = 0
def p1(event):
c.delete(imag2)
image1 = Image.open("C://1.png")
photo1 = ImageTk.PhotoImage(image1)
c.image = photo1
imag1 = c.create_image(200, 250, image=photo1)
c.tag_bind(imag1, '<Button-1>', p2)
def p2(event):
c.delete(imag1)
image2 = Image.open("C://2.png")
photo2 = ImageTk.PhotoImage(image2)
c.image = photo2
imag2 = c.create_image(200, 250, image=photo2)
c.tag_bind(imag2, '<Button-1>', p1)
p1(event)
root.mainloop()
@bot.message_handler(commands=["start"])
def inline(message):
key = types.InlineKeyboardMarkup()
but_1 = types.InlineKeyboardButton(text="NumberOne", callback_data="NumberOne")
but_2 = types.InlineKeyboardButton(text="NumberTwo", callback_data="NumberTwo")
but_3 = types.InlineKeyboardButton(text="NumberTree", callback_data="NumberTree")
key.add(but_1, but_2, but_3)
bot.send_message(message.chat.id, "ВЫБЕРИТЕ КНОПКУ", reply_markup=key)
@bot.callback_query_handler(func=lambda c:True)
def inline(c):
if c.data == 'NumberOne':
bot.send_message(c.message.chat.id, 'Это кнопка 1')
if c.data == 'NumberTwo':
bot.send_message(c.message.chat.id, 'Это кнопка 2')
if c.data == 'NumberTree':
key = types.InlineKeyboardMarkup()
but_1 = types.InlineKeyboardButton(text="NumberOne", callback_data="NumberOne")
but_2 = types.InlineKeyboardButton(text="NumberTwo", callback_data="NumberTwo")
but_3 = types.InlineKeyboardButton(text="NumberTree", callback_data="NumberTree")
key.add(but_1, but_2, but_3)
bot.send_message(c.message.chat.id, 'Это кнопка 3', reply_markup=key)