Существует ли способ снять флажок со всеми переключателями в группе? (PyGTK)

Для выполнения файла в текущем каталоге синтаксис для использования: ./foo

, Как упомянуто allain, ./a.exe корректный способ выполнить a.exe в рабочем использовании каталога Cygwin.

Примечание: можно хотеть использовать -o параметр к cc для определения собственного выходного имени файла. Пример этого был бы: cc helloworld.c -o helloworld.exe.

8
задан linkmaster03 21 November 2009 в 01:13
поделиться

3 ответа

Не должно быть. По своей природе группа радиокнопок - это тип управления «выберите один из множества». С человеческой точки зрения идея состоит в том, что всегда выбирается один из них. Фреймворк действительно должен обеспечивать это, поэтому для группы действительно не должно быть состояния «не выбрано». Невыбранное состояние группы переключателей (в тех фреймворках, где это возможно) очень сбивает с толку пользователей, потому что это не то состояние, в которое они могут ввести элемент управления.

Если вам нужно состояние «не выбрано», я я бы сказал, что вам следует добавить в группу элемент «none», ИЛИ выбрать другой тип элемента управления, который соответствует тому, что вы хотите с ним делать.

2
ответ дан 5 December 2019 в 17:38
поделиться

Я согласен с Майклом, но для протокола, это можно сделать.

Один из способов сделать это - иметь скрытый переключатель, который вы могли бы активировать, что тогда вызовет все видимые неактивны. Быстрый и грязный пример:

import gtk

window = gtk.Window()
window.set_default_size(200, 200)

rb1 = gtk.RadioButton()
rb2 = gtk.RadioButton()
rb3 = gtk.RadioButton()

rb2.set_group(rb1)
rb3.set_group(rb2)

rb3.set_active(True)

hbox = gtk.HBox()

hbox.add(rb1)
hbox.add(rb2)
hbox.add(rb3)

button = gtk.Button("Click me")
button.connect("clicked", lambda x: rb3.set_active(True))

hbox.add(button)

window.add(hbox)
window.show_all()

rb3.hide()

gtk.main()
6
ответ дан 5 December 2019 в 17:38
поделиться

Посмотрел его в исходном коде, и set_active просто имитирует щелчок по кнопке, если новое состояние отличается от старого. Код переключателя затем проверяет, есть ли еще один переключатель в активной группе, и если нет, он отказывается меняться, как вы заметили.

Судя по тому, как он выглядит, первый переключатель всегда должен быть установлен в активное состояние при создании группа (как и ожидалось). Если он не показывает, что это, скорее всего, ошибка, было бы интересно узнать, является ли radio_button.get_active True для первой созданной вами кнопки (даже если она не отображается вверху в пользовательском интерфейсе).

Я согласен с Майклом Коном в том, что вам следует изучить другой элемент пользовательского интерфейса, если вы хотите отключить все переключатели.

Затем код переключателя проверяет, есть ли еще один переключатель в активной группе, и если нет, он отказывается меняться, как вы заметили.

Судя по тому, как он выглядит, первый переключатель всегда должен быть установлен в активное состояние при создании группа (как и ожидалось). Если он не показывает, что это, скорее всего, ошибка, было бы интересно узнать, является ли radio_button.get_active True для первой созданной вами кнопки (даже если она не отображается вверху в пользовательском интерфейсе).

Я согласен с Майклом Коном в том, что вам следует изучить другой элемент пользовательского интерфейса, если вы хотите отключить все переключатели.

Затем код переключателя проверяет, есть ли еще один переключатель в активной группе, и если нет, он отказывается меняться, как вы заметили.

Судя по тому, как он выглядит, первый переключатель всегда должен быть установлен в активное состояние при создании группа (как и ожидалось). Если он не показывает, что это, скорее всего, ошибка, было бы интересно узнать, является ли radio_button.get_active True для первой созданной вами кнопки (даже если она не отображается вверху в пользовательском интерфейсе).

Я согласен с Майклом Коном в том, что вам следует изучить другой элемент пользовательского интерфейса, если вы хотите отключить все переключатели.

Судя по внешнему виду, первая радиокнопка всегда должна быть активна при создании группы (как и ожидалось). Если он не показывает, что это, скорее всего, ошибка, было бы интересно узнать, является ли radio_button.get_active True для первой созданной вами кнопки (даже если она не отображается вверху в пользовательском интерфейсе).

Я согласен с Майклом Коном в том, что вам следует изучить другой элемент пользовательского интерфейса, если вы хотите отключить все переключатели.

Судя по внешнему виду, первая радиокнопка всегда должна быть активна при создании группы (как и ожидалось). Если он не показывает, что это, скорее всего, ошибка, было бы интересно узнать, является ли radio_button.get_active True для первой созданной вами кнопки (даже если она не отображается вверху в пользовательском интерфейсе).

Я согласен с Майклом Коном в том, что вам следует изучить другой элемент пользовательского интерфейса, если вы хотите отключить все переключатели.

1
ответ дан 5 December 2019 в 17:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: