Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2019, 21:06   #1
masha7777
 
Регистрация: 26.10.2019
Сообщений: 9
По умолчанию Привязать дейтвие к кнопкам в Tkinter

Привет. Помогите начинающему пайтонисту правильно привязать код последней функции def reply_all(event) к действию кнопки 2 , чтоб при нажатии открывалось новое окно и считывались данные из exel файла.
Вот код:


i
Код:
mport tkinter as tk
from openpyxl import load_workbook


class Main(tk.Frame):
def __init__(self, root):
super().__init__(root)
self.init_main()


def init_main(self):
toolbar = tk.Frame(bg = "#d7d8e0", bd = 2)
toolbar.pack(side = tk.TOP, fill = tk.X)
self.add_img = tk.PhotoImage(file = "data.gif" )
btn_open_dialog = tk.Button(toolbar, text="Поиск информации", command=self.open_dialog,bg="#d7d8e0",bd=0,compound=tk.TOP, image=self.add_img)

btn_open_dialog.pack(side=tk.LEFT)



def open_dialog(self): # Вызов дочернего окна
Child()



class Child(tk.Toplevel):
def __init__(self):
super().__init__(root)
self.init_child()



def init_child(self):
self.title(" Выберите режим поиска")
self.geometry("1000x500")
#self.add_img= tk.PhotoImage(file = "6205.jpg")
self.grab_set() #захват и удержка события
self.focus_set()

# Кнопка 1
self.button1 = tk.Button(self, font="Verdana", bg="grey", fg="black", width=90, height=4)
self.button1["text"] = " Компания - поиск информации"
self.button1.bind = self.button1
self.button1.pack(side="top")

# Кнопка 2
self.button2 = tk.Button(self, font="Verdana", bg="yellow", fg="black", width=40, height=6)
self.button2["text"] = "Отобразить информацию по всем контрактам"
self.button2["command"] = self.button2
self.button2.pack()


# Кнопка 3
self.button3 = tk.Button(self, font="Verdana", bg="yellow", fg="black", width=40, height=6)
self.button3["text"] = "Поиск контракта по номеру телефона"
self.button3["command"] = self.button3
self.button3.pack()




def reply_all(event):

wb = load_workbook('data.xlsx')
sheets = wb.sheetnames
sheet = wb.active
cell = sheet["A"]
cell = sheet.cell(row=1, column=1)
for word in sheet[81:84]:
string = " "
for cell in word:
string = str(cell.value)
string = string.replace("0.0000", " ")
string = string.replace(",,,", " ")
string = string.replace(",", " ")
print(string)




if __name__=="__main__":
root = tk.Tk()
app = Main(root)
app.pack()
root.title("Компания")
root.geometry = ("850x650-1000-1000")
root.resizable(False, False)

root.mainloop()

Последний раз редактировалось Аватар; 02.11.2019 в 21:12.
masha7777 вне форума Ответить с цитированием
Старый 03.11.2019, 00:27   #2
Desc
Участник клуба
 
Аватар для Desc
 
Регистрация: 21.11.2007
Сообщений: 1,063
По умолчанию

Подозреваю что должно быть так:
Код:
#self.button2["command"] = self.button2
self.button2["command"] = self.reply_all
I am not a wizard, I am just learning.
Desc вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выбор действия по разным кнопкам Enigmatic PHP 1 07.02.2016 21:50
Как присвоить значения кнопкам на Delphi 7? Pro100Serj Помощь студентам 1 26.01.2015 01:52
Привязка функций к кнопкам на клавиатуре Kamilius Общие вопросы C/C++ 12 29.02.2012 21:21
Вопрос по кнопкам... Han_Nik Помощь студентам 4 19.05.2010 20:41
пара вопросов по кнопкам grey Помощь студентам 4 11.11.2007 19:09