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

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

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

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

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
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.10.2012, 16:01
Ответы с готовыми решениями:

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

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

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

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

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

4
561 / 484 / 168
Регистрация: 14.02.2012
Сообщений: 1,561
14.10.2012, 16:13 2
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  [ТС] 3
ок спасибо огромное !! )) странно конечно ... а не в курсе случайно как можно идентифицировать виджет, задать ему уникальное имя ...

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

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 4
Можно так. Все работает, текст надписи меняется!
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
2740 / 2339 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
06.03.2014, 21:20 5
Цитата Сообщение от clinicalfilm Посмотреть сообщение
если я например буду генерить виджеты циклом
Задать id или что-то подобное, ты не можешь на сколько я знаю. Можно в цикле указать словарь в котором в роли ключа будет название поля, а в значении будет хранится на пример название кнопки и метод который должен срабатывать при её нажатии.
В самом цикле ты будешь создавать обычным образом нужный виджет, только в атрибуте text или любом другом будешь писать примерно следующие
Python
1
2
button_data = {'ok':'open'}
but = Button(root,text=button_data[key] ,command=insert)
В общем button_data это словарь который перебирается, key это переменная цикла, в которой будет ключ словаря и то есть через этот ключ ты получаешь доступ к нужным данным.
И ещё только в цикле обязательно созданные объекты добавляй в другой словарь, в котором ключ опять у тебя будет переменная key, а в значении будет объект кнопки.

Вот как-то так, думаю идею ты понял, если нет спрашивай, поясню.
0
06.03.2014, 21:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.03.2014, 21:20
Помогаю со студенческими работами здесь

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

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

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

Как сделать так, чтобы при использовании модуля из tkinter не открывалось окно tkinter?
Как сделать так, чтобы при использовании модуля из tkinter не открывалось окно tkinter? Я пишу...

Виджеты tkinter и tkinter.ttk (используется Python 3.5.2)
1) Проблема с виджетом Scale (ползунок) модуля tkinter. Я создал ползунок от 1 до 50 (как на первой...

Можно ли создать на основе Canvas в Tkinter собственный класс кнопки?
Хочу оформить кнопку как элемент Canvas. Как это сделать? Прошу привести код примера. Заранее...


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

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