Форум сайта python.su
0
Задача на форме создано три кнопки необходимо нажатием третей кнопки поменять порядок следования первых двух! Буду благодарен за помощь.
Офлайн
58
Не понял вообще ничего…
Что значит: “порядок следования”?
Имеется ввиду их место положении на базовом виджете. Или меняются комманды, которые вызывают их нажатия? Хотя может, имеллось ввиду, что переход фокуса по табу меняется… Черт его знает. Напишите подробнее. Если можно, то так: было до нажатия > стало после нажатия.
Офлайн
0
Поменять команды, фокус с этим все понятно! Есть кнопка- объект №1 и кнопка -объект №2 на базовом
виджете размещаем объект - №1 и объект - №2 (pack(№1) pack(№2) слево на право нужно по нажатию третей кнопки поменять местами объект - №1 и объект- №2 т.е после нажатия идет объект - №2 а затем объект-№1 слево на право. Вчера пересмотрел все базовые классы и понимаю что без перепаковки не обойтись или я ошибаюсь. (я новичок пока в этом)
Офлайн
0
Что значит: “порядок следования”?
Имеется ввиду их место положении на базовом виджете. - Да именно это
Отредактировано tisul (Янв. 7, 2014 06:41:06)
Офлайн
58
Самый простой - запаковать два виджета в рамку и потом перепаковывать.
Но можно еще по-другому. Написать общий обработчик нажатия.
При нажатии считывать надпись на кнопке или ее id и выполнять соответствующую команду (вызвать соответствующую функцию-обработчик). В этом случае нужно поменять местами только надписи на кнопках.
Будут вопросы - пишите.
Офлайн
0
Еще раз порылся и перечитал методы и нашел то, что нужно. КНОПКИ МОЖНО ПОМЕНЯТЬ МЕСТАМИ
bt1 = Button()
bt1.pack()
bt2 = Button()
bt2.pack()
на форме выводятся соответственно bt1 bt2
деламе следующее
bt2.pack(before=bt1)
на форме получаем уже bt2 bt1
За помощь все равно огромное спасибо!!!!
Вопрос закрыт!
Офлайн
58
Неверно!!! Этот подход будет работать только для менеджера pack. Для всех других менеджеров геометрии такой способ работать не будет. Я Вам написал два универсальных механизма, которые будут работать для любых методов, а именно .pack, .place, .grid.
Отредактировано 4kpt_II (Янв. 9, 2014 14:51:34)
Офлайн
0
Понятно! мой недочет что не указал способ размещения виджетов.
Отредактировано tisul (Янв. 9, 2014 17:13:16)
Офлайн