Форум программистов, компьютерный форум, киберфорум
Python: Tkinter
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 02.11.2019
Сообщений: 6

Привязать действие к кнопкам

02.11.2019, 21:02. Показов 1889. Ответов 1
Метки нет (Все метки)

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

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
import 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()
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.11.2019, 21:02
Ответы с готовыми решениями:

Как привязать события к динамическим кнопкам в цикле?
Есть данный цикл for i, item in enumerate(self.config): i += 1 self.clicked.connect(lambda: self.delete_account(i)) ...

Как привязать onClick к кнопкам?
В js "чайник", изучаю на ходу. Суть проблемы: есть форма name="Form1", на ней два поля ввода чисел, id="Editbox1"...

Как привязать обработчик к двум кнопкам
Смысл такой.Есть таблица из двух столбиков.В первом десять значений,во втором три. Если пользователь выделил test1 она при клике...

1
 Аватар для GulgDev
132 / 118 / 29
Регистрация: 09.07.2019
Сообщений: 1,071
03.11.2019, 10:28
Python
1
2
3
4
5
# Кнопка 2
self.button2 = tk.Button(self, font="Verdana", bg="yellow", fg="black", width=40, height=6)
self.button2["text"] = "Отобразить информацию по всем контрактам"
self.button2["command"] = reply_all
self.button2.pack()
Вы назначили кнопку действием для неё самой.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.11.2019, 10:28
Помогаю со студенческими работами здесь

Как привязать двумерную матрицу к кнопкам?
Есть поле из кнопок, как привязать к ним матрицу?

UWP привязать команды к кнопкам в DataGrid
Добрый день. Помогите найти решение, я то я уже совсем отчаялся :help: Есть у меня DataGrid в одном из столбцов кнопки, надо чтобы...

Хочу узнать, как привязать звук к кнопкам в Qt creator
Хочу чтобы при нажатии кнопки на калькуляторе, появлялся звук.

Создать запросы на MySql, привязать их к кнопкам и обращаться к базе Access
Задание: создать базу данных в Access(готово). Подключить ее к С#(готово). Из C# создать 10 запросов к таблицам базы. А как...

Как можно к интерфейсным объектам (кнопкам) привязать sql-запросы
Есть база данных на SQL, интерфейс на VB. Подскажите, пожалуйста, как можно к интерфейсным объектам(кнопкам) привязать sql-запросы?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru