Найти - Пользователи
Полная версия: Поменять местами button в созданном widget tkinter
Начало » GUI » Поменять местами button в созданном widget tkinter
1
tisul
Задача на форме создано три кнопки необходимо нажатием третей кнопки поменять порядок следования первых двух! Буду благодарен за помощь.
4kpt_II
Не понял вообще ничего…
Что значит: “порядок следования”?
Имеется ввиду их место положении на базовом виджете. Или меняются комманды, которые вызывают их нажатия? Хотя может, имеллось ввиду, что переход фокуса по табу меняется… Черт его знает. Напишите подробнее. Если можно, то так: было до нажатия > стало после нажатия.


tisul
Поменять команды, фокус с этим все понятно! Есть кнопка- объект №1 и кнопка -объект №2 на базовом
виджете размещаем объект - №1 и объект - №2 (pack(№1) pack(№2) слево на право нужно по нажатию третей кнопки поменять местами объект - №1 и объект- №2 т.е после нажатия идет объект - №2 а затем объект-№1 слево на право. Вчера пересмотрел все базовые классы и понимаю что без перепаковки не обойтись или я ошибаюсь. (я новичок пока в этом)
tisul
Что значит: “порядок следования”?
Имеется ввиду их место положении на базовом виджете
. - Да именно это
4kpt_II
Самый простой - запаковать два виджета в рамку и потом перепаковывать.
Но можно еще по-другому. Написать общий обработчик нажатия.
При нажатии считывать надпись на кнопке или ее id и выполнять соответствующую команду (вызвать соответствующую функцию-обработчик). В этом случае нужно поменять местами только надписи на кнопках.

Будут вопросы - пишите.
tisul
Еще раз порылся и перечитал методы и нашел то, что нужно. КНОПКИ МОЖНО ПОМЕНЯТЬ МЕСТАМИ
bt1 = Button()
bt1.pack()
bt2 = Button()
bt2.pack()
на форме выводятся соответственно bt1 bt2
деламе следующее
bt2.pack(before=bt1)
на форме получаем уже bt2 bt1

За помощь все равно огромное спасибо!!!!


Вопрос закрыт!






4kpt_II
Неверно!!! Этот подход будет работать только для менеджера pack. Для всех других менеджеров геометрии такой способ работать не будет. Я Вам написал два универсальных механизма, которые будут работать для любых методов, а именно .pack, .place, .grid.
tisul
Понятно! мой недочет что не указал способ размещения виджетов.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB