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

Как написать метод, удаляющий кнопку, которая активирует функцию, в самой этой функции?

28.01.2023, 20:35. Показов 464. Ответов 1

Студворк — интернет-сервис помощи студентам
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
#это кусок кода, а именно фукнция функции класса
     def hit():
            self.hitmessage = Label(text = '1', bg = 'grey', fg = 'black', font = ['Impact', 12])
            self.hitmessage.place(x = 0, y = 0, width = 800, height = 100)
            self.hit = random.randint(1, 2)
            if self.hit == 1:
                self.hp2 -= self.dmg
                self.hitmessage['text'] = f'Воин 1 ударил воина 2 и снёс ему 20hp. Оставшееся hp воина 2 = {self.hp2}'
                print('Воин 1 ударил воина 2 и снёс ему 20hp')
                print(f'Оставшееся hp воина 2: {self.hp2}')
 
            if self.hit == 2:
                self.hp1 -= self.dmg
                self.hitmessage['text'] = f'Воин 2 ударил воина 1 и снёс ему 20hp. Оставшееся hp воина 1 = {self.hp1}'
                print('Воин 2 ударил воина 1 и снёс ему 20hp')
                print(f'Оставшееся hp воина 1: {self.hp1}')
 
            if self.hp1 == 0:
                self.num1.destroy()
                self.num2.destroy()
                for i in window.slaves():
                    i.destroy()
                self.hitmessage['text'] = 'Выиграл воин 2'
 
            if self.hp2 == 0:
                self.num2.destroy()
                self.num1.destroy()
                for i in window.slaves():
                    i.destroy()
                self.hitmessage['text'] = 'Выиграл воин 1'
 
        self.do_hit = Button(text = 'удар', command = hit, font = ['Impact', 12])
"""
Вот как раз эта кнопка, которая должна самоудаляться когда hp1 == 0 или hp2 == 0.
"""
        self.do_hit.place(x = 600, y = 200, height = 50, width = 75)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.01.2023, 20:35
Ответы с готовыми решениями:

Как создать кнопку которая активирует мои до этого неактивные кнопки?
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using...

.Написать функцию, которая будет возвращать значение y=ln(x)+x при входящем параметре x. Построить таблицу значений этой функции
.Написать функцию, которая будет возвращать значение y=ln(x)+x при входящем параметре x. Построить таблицу значений этой функции. ...

Написать функцию, которая принимает функцию и массив, и обрабатывает каждый элемент массива этой функцией.
Напиши функцию convert(fn, array), которая принимает на вход функцию и массив, и обрабатывает каждый элемент массива этой функцией,...

1
 Аватар для OlegChe
73 / 55 / 25
Регистрация: 12.07.2014
Сообщений: 216
01.02.2023, 15:51
Вы можете использовать self.do_hit.destroy() в условиях, когда hp1 или hp2 равны 0. Вот так:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    if self.hp1 == 0:
        self.num1.destroy()
        self.num2.destroy()
        for i in window.slaves():
            i.destroy()
        self.hitmessage['text'] = 'Выиграл воин 2'
        self.do_hit.destroy() # удаление кнопки
 
    if self.hp2 == 0:
        self.num2.destroy()
        self.num1.destroy()
        for i in window.slaves():
            i.destroy()
        self.hitmessage['text'] = 'Выиграл воин 1'
        self.do_hit.destroy() # удаление кнопки
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.02.2023, 15:51
Помогаю со студенческими работами здесь

Написать рекурсивную функцию, которая находит размер самой большой фигуры
В прямоугольной таблице N рядов и M колонок. Каждая клетка или пустая, или закрашенная. Каждая закрашенная клетка принадлежит одной из...

Написать функцию, которая принимает указатель на переменную и присваивает ей модуль самой себя.
Задача 1. Написать функцию, которая принимает указатель на переменную и присваивает ей модуль самой себя.

Получить указатель на объект который вызвал метод или Функцию в теле самой функции
Доброго времени суток! Можно ли не передавая явно указатель на объект(this) получить к нему доступ из функции вызванной одним из...

Написать таблицу функции f(x,y,z), заданной формулой. Найти фиктивные переменные этой функции. Преобразовать эту функцию
1.Написать таблицу функции f(x,y,z), заданной формулой. 2.Найти фиктивные переменные данной функции. 3.Преобразовать данную формулу в...

Как написать функцию которая не возвращает результат, а передает через указатель одного из параметров функции?
как написать функцию которая не возвращает результат, а передает через указатель одного из параметров функции в этом коде #include...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru