2015-11-05 3 views
0

Для моей курсовой работы я создаю программу на python, чтобы помочь студентам-математикам GCSE пересмотреть, в настоящее время я создал несколько окон, включая логин, главное меню, табло и теперь окно настроек. Я хочу использовать переключатели, чтобы пользователь мог выбирать различные параметры, такие как цвет, вот где моя проблема начинается, я изо всех сил пытаюсь настроить свои переключатели, чтобы вы могли выбирать только один, я сделал два переключатели, следует изменить цвет фона на синий, а другой зеленый, хотя, когда программа запускается, я могу выбрать оба переключателя. Я считаю, проблема в том, что они не связаны с одной и той же переменной и не передают это значение этой переменной.Использование переключателей с несколькими окнами

Here is a screenshot of my code for the radio buttons

A screenshot of me being able to select both radiobuttons

self.radiov = IntVar 
self.rbcolour_blue = Radiobutton(self.master, text = "Blue", variable = self.radiov, value = 1, bg = "green", command = update_colour) 
self.rbcolour_blue.place(x = 10, y = 60) 
elf.rbcolour_green = Radiobutton(self.master, text = "Green", variable = self.radiov, value = 2, bg = "green", command = update_colour) 
self.rbcolour_green.place(x = 10, y = 85) 
+1

Пожалуйста, пост код, который вы использовали для создания радиокнопок – JRodDynamite

+0

Я думаю, это потому, что вы пропустили '()' на 'IntVar()' для 'self.radiov = IntVar' –

+0

Я только что добавил() в конце, и он работает, спасибо вам большое! –

ответ

1

IntVar является классом. Вам нужно создать экземпляры класса. Измените эту строку:

self.radiov = IntVar 

... к этому:

self.radiov = IntVar()