Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.70/104: Рейтинг темы: голосов - 104, средняя оценка - 4.70
2 / 2 / 0
Регистрация: 21.11.2013
Сообщений: 71
1

При нажатии кнопки она должна менять надпись

07.03.2015, 22:48. Показов 18891. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Изучаю Питон и работу событий. Почему не работает данный код? Идея: при нажатии кнопки она должна менять надпись.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
from tkinter import *
  
def but_onoff(button):
    if button == "OFF": 
        but["text"] = "ON"
    else: 
        but["text"] = "OFF"
                
 
root = Tk()
but = Button(root,text="OFF",width=30,height=5,bg="grey50",fg="blue")
but.pack(side=RIGHT)
but.bind("<Button-1>",but_onoff(but["text"]))
root.mainloop()
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.03.2015, 22:48
Ответы с готовыми решениями:

При нажатии на кнопку должна появляться надпись Hello
Пи нажатии на кнопку должна появляться надпись Hello. Я создаю lаbel и присваиваю caption значение...

При нажатии на картинку она должна сменяться на видео из ютуба
День добрый, прочитал весь форум, но нигде ответ на этот вопрос не нашел Хочу сделать так как на...

Видимая и невидимая надпись при нажатии кнопки
Подскажите , как сделать , чтобы при нажатии на кнопку надпись становилась видимой ,а после второго...

При проверке кнопка должна менять цвет на красный или зеленый, но она становится прозрачной и текст остается
using System.Collections; using System.Collections.Generic; using UnityEngine; using...

Программа должна при нажатии на кнопку выводить в метку площадь, а орнамент - менять цвет
На счёт площади вопросов нет, но как сделать чтобы орнамент цвет менял(там 12 меток). Пробовала...

1
2741 / 2340 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
07.03.2015, 23:36 2
Потому что метод bind ожидает получить функцию, а ты ему передаёт результат вызова функции (так как функция ничего не возращает, то None). Если в функции, которая вызывается по событию, надо, что-то передать нужно использовать анонимные функции.

Добавлено через 2 минуты
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import tkinter
 
 
def but_onoff(event, button):
    if button == "OFF":
        but["text"] = "ON"
    else:
        but["text"] = "OFF"
 
root = tkinter.Tk()
but = tkinter.Button(root, text="OFF", width=30, height=5, bg="grey50", fg="blue")
but.pack(side=tkinter.RIGHT)
but.bind("<Button-1>", lambda event: but_onoff(event, but["text"]))
root.mainloop()
И кстати запомни на будущие, ни когда не импортируй модули и пакеты так:
Python
1
from tkinter import *
Кстати, ещё одни совет. Лучше бросай tkinter, это деревянная, старая, бесперспективная библиотека.
Знакомься с pyqt.
2
07.03.2015, 23:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.03.2015, 23:36
Помогаю со студенческими работами здесь

Как менять Panel при нажатии на кнопки в Dashboard
Друзья, впервые делаю Дашборд, потихоньку пытаюсь изучать C#, Подскажите, пожалуйста, как при...

Программа должна обновлять надпись (с очисткой экрана) и менять цвета и её местоположение...
После нажатия клавиши Enter программа должна обновлять надпись (с очисткой экрана) и менять цвета и...

Как менять proxy в webbrowser при каждом нажатии кнопки
Доброго суток времени, подскажите как в webbrowser имея список просиков их менять? он хватает...

При нажатии кнопки мыши случайным образом менять цвет формы
Здравствуйте нужно сделать так чтобы при нажатии кнопки мыши случайным образом менять цвет формы.

При нажатии на клавишу F1 должна выполнятся функция нажатия кнопки на форме
C# windows forms При нажатии на клавишу F1 должна выполнятся функция нажатия кнопки button1 на...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru