tisul
Янв. 6, 2014 16:26:15
Задача на форме создано три кнопки необходимо нажатием третей кнопки поменять порядок следования первых двух! Буду благодарен за помощь.
4kpt_II
Янв. 6, 2014 17:20:07
Не понял вообще ничего…
Что значит: “порядок следования”?
Имеется ввиду их место положении на базовом виджете. Или меняются комманды, которые вызывают их нажатия? Хотя может, имеллось ввиду, что переход фокуса по табу меняется… Черт его знает. Напишите подробнее. Если можно, то так: было до нажатия > стало после нажатия.
tisul
Янв. 7, 2014 06:38:58
Поменять команды, фокус с этим все понятно! Есть кнопка- объект №1 и кнопка -объект №2 на базовом
виджете размещаем объект - №1 и объект - №2 (pack(№1) pack(№2) слево на право нужно по нажатию третей кнопки поменять местами объект - №1 и объект- №2 т.е после нажатия идет объект - №2 а затем объект-№1 слево на право. Вчера пересмотрел все базовые классы и понимаю что без перепаковки не обойтись или я ошибаюсь. (я новичок пока в этом)
tisul
Янв. 7, 2014 06:40:39
Что значит: “порядок следования”?
Имеется ввиду их место положении на базовом виджете. - Да именно это
4kpt_II
Янв. 7, 2014 11:46:33
Самый простой - запаковать два виджета в рамку и потом перепаковывать.
Но можно еще по-другому. Написать общий обработчик нажатия.
При нажатии считывать надпись на кнопке или ее id и выполнять соответствующую команду (вызвать соответствующую функцию-обработчик). В этом случае нужно поменять местами только надписи на кнопках.
Будут вопросы - пишите.
tisul
Янв. 9, 2014 07:30:14
Еще раз порылся и перечитал методы и нашел то, что нужно. КНОПКИ МОЖНО ПОМЕНЯТЬ МЕСТАМИ
bt1 = Button()
bt1.pack()
bt2 = Button()
bt2.pack()
на форме выводятся соответственно bt1 bt2
деламе следующее
bt2.pack(before=bt1)
на форме получаем уже bt2 bt1
За помощь все равно огромное спасибо!!!!
Вопрос закрыт!
4kpt_II
Янв. 9, 2014 14:47:39
Неверно!!! Этот подход будет работать только для менеджера pack. Для всех других менеджеров геометрии такой способ работать не будет. Я Вам написал два универсальных механизма, которые будут работать для любых методов, а именно .pack, .place, .grid.
tisul
Янв. 9, 2014 17:12:36
Понятно! мой недочет что не указал способ размещения виджетов.