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

Tkinter команда с кнопки

14.10.2012, 16:01. Показов 12057. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
здрасте, я суперчайник в этой теме, изучаю это приложение, по тому что мне нужен питон и уи на нем... привожу простой пример окно/кнопка/текстовое поле/лебл при нажатии на кнопку берем данные из поля и вставляем в лейбл ... но эта операция почему-то выполняется сразу при запуске окна и один только раз, потом любые изменения текста и клики на кнопке ни к чему не приводят.. я в осадке.... а теперь вопрос: почему? ))

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
from Tkinter import *
 
 
def insertB(label_, entry_):
    data = entry_.get()
    label_.configure(text=data)
 
root = Tk()
root.title('Scroll window')
frame = Frame(root)
frame.pack()
 
# text field
entry_ = Entry(frame, width=10)
entry_.grid(row=0, column=1)
# label 
label_ = Label(frame, width = 40, text='fffff')
label_.grid(row=0, column=2)
# button    
button_ = Button(frame, text="Calculate", width=10)
button_.grid(row=0, column=0)
button_.bind("<Button-1>", insertB(label_, entry_))
 
root.mainloop()
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.10.2012, 16:01
Ответы с готовыми решениями:

tkinter - бинды на кнопки
Всем привет. Есть необходимость реализовать &quot;горячие клавиши&quot; в моей программе. Но, с этим у меня есть некоторые проблемы... import...

Кнопки в tkinter. Python
Подскажите как в python реализовать кнопку &quot;далее&quot; с помощью tkinter. Т.е. есть окно с любым содержимым, а при нажатии кнопки...

Настройка кнопки tkinter
Доброго времени суток, есть вобщем такой кликер, может кто знает, как можно сделать, чтобы кнопку нельзя было нажать до определённо...

4
561 / 484 / 168
Регистрация: 14.02.2012
Сообщений: 1,561
14.10.2012, 16:13
clinicalfilm,
Python
1
button_.bind("<Button-1>", lambda arg: insertB(label_, entry_))
Пробуйте так.
0
0 / 0 / 0
Регистрация: 14.10.2012
Сообщений: 9
14.10.2012, 16:47  [ТС]
ок спасибо огромное !! )) странно конечно ... а не в курсе случайно как можно идентифицировать виджет, задать ему уникальное имя ...

если я например буду генерить виджеты циклом, примерно так:

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
def insertB(label_, entry_):
    try:
        data = entry_.get()
    except:
        data = 'yooo!!!'
    label_.configure(text=data)
 
root = Tk()
root.title('Scroll window')
frame = Frame(root)
frame.pack()
 
for i in range(10):
    # text field
    entry_ = Entry(frame, width=10)
    entry_.grid(row=i, column=1)
    # label 
    label_ = Label(frame, width = 40, text='fffff')
    label_.grid(row=i, column=2)
    #button 
    button_ = Button(frame, text="Calculate", width=10)
    button_.grid(row=i, column=0)
    button_.bind("<Button-1>", lambda arg: insertB(label_, entry_))
 
root.mainloop()
и мне надо чтобы кнопка данной строки изменяла значение текста в данной строке .. ну как-то так...
в mel все было просто, виджет по желанию обзывался любой строкой ... но мне надо выйти за пределы maya...
0
0 / 0 / 0
Регистрация: 06.03.2014
Сообщений: 21
06.03.2014, 19:40
Можно так. Все работает, текст надписи меняется!
Python
1
2
3
4
5
6
7
8
9
10
11
12
from Tkinter import *
root = Tk()
def insert():
    enter = ent.get()
    res.config(text=enter)
ent = Entry(root,width=20)
res = Label(root,text="?")
but = Button(root,text="Calculate",command=insert)
ent.grid(row=0,column=0)
but.grid(row=0,column=1)
res.grid(row=0,column=2)
root.mainloop()
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
06.03.2014, 21:20
Цитата Сообщение от clinicalfilm Посмотреть сообщение
если я например буду генерить виджеты циклом
Задать id или что-то подобное, ты не можешь на сколько я знаю. Можно в цикле указать словарь в котором в роли ключа будет название поля, а в значении будет хранится на пример название кнопки и метод который должен срабатывать при её нажатии.
В самом цикле ты будешь создавать обычным образом нужный виджет, только в атрибуте text или любом другом будешь писать примерно следующие
Python
1
2
button_data = {'ok':'open'}
but = Button(root,text=button_data[key] ,command=insert)
В общем button_data это словарь который перебирается, key это переменная цикла, в которой будет ключ словаря и то есть через этот ключ ты получаешь доступ к нужным данным.
И ещё только в цикле обязательно созданные объекты добавляй в другой словарь, в котором ключ опять у тебя будет переменная key, а в значении будет объект кнопки.

Вот как-то так, думаю идею ты понял, если нет спрашивай, поясню.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.03.2014, 21:20
Помогаю со студенческими работами здесь

Кнопки и поле ввода tkinter
Здравствуйте, четыре кнопки с числами 6, -4, 243, 5634 и поле ввода и кнопки “Дублирование” и «Закрыть». Изначально окно редактора пусто....

Не открывается окно при нажатии кнопки в tkinter
Добрый день! Подскажите, пожалуйста, мне необходимо сделать окно с кнопками, при нажатии на них: графики, окно с информацией. Проблема с...

tkinter - нажатие левой кнопки мыши + левый alt
Ребят, приветствую. Подскажите, что в event прописать на событие button_1_clicked, чтобы вызов происходил при нажатии левого альт + левой...

Как вызвать функцию с новым аргументом при нажатии кнопки в Tkinter?
Всем привет) Начал осваивать питон и столкнулся с такой вот темой, при запуске срабатывает команда на кнопке и функция сразу выполняется,...

Как менять местами кнопки в tkinter или же переписать этот код на pygame
Как при нажатии заставить программу запоминать нажатую кнопку и при нажатии следующей менять их местами Фактически я хочу двигать...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Настройки 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
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru