Я относительно новичок в железе Python. Я могу узнать, какая радио-кнопка была выбрана, но я не уверен, как сделать переменную "logoToUpdate" доступной для передачи в моем скрипте. Кроме того, есть ли более упрощенный способ выполнения sh этого типа формы?
Вот мой код. В последней строке я не получаю никакого текста обратно в переменной logoToUpdate:
import clr
clr.AddReference("RevitAPIUI")
clr.AddReference("System.Windows.Forms")
clr.AddReference("System.Drawing")
from System.Drawing import Color, Font, FontStyle, Point
from System.Windows.Forms import (Application, BorderStyle, Button, CheckBox,
Form, Label, Panel, RadioButton)
class CountForm(Form):
def __init__(self):
self.Text = 'Radio Button Trial'
self.Width = 450
self.Height = 275
self.label = Label()
self.label.Text = "Choose a radio button"
self.label.Location = Point(10, 20)
self.label.Height = 50
self.label.Width = 250
self.CenterToScreen()
self.radio1 = RadioButton()
self.radio1.Text = "Default"
self.radio1.Location = Point(30, 50)
self.radio1.Width = 75
self.radio1.Checked = True
self.Controls.Add(self.radio1)
self.radio2 = RadioButton()
self.radio2.Text = "PIN01"
self.radio2.Location = Point(30, 80)
self.radio2.Width = 75
self.radio2.Checked = False
self.Controls.Add(self.radio2)
self.radio3 = RadioButton()
self.radio3.Text = "PIN02"
self.radio3.Location = Point(110, 80)
self.radio3.Width = 75
self.radio3.Checked = False
self.Controls.Add(self.radio3)
button = Button()
button.Text = "Continue"
button.Location = Point(175, 175)
button.Click += self.buttonPressed
self.Controls.Add(self.label)
self.Controls.Add(button)
def buttonPressed(self, sender, args):
if self.radio1.Checked == True:
logoToUpdate = "(Default) Selected"
elif self.radio2.Checked == True:
logoToUpdate = "(PIN01) Selected"
else:
logoToUpdate = "(PIN02) Selected"
self.Close()
form = CountForm()
Application.Run(form)
print "logoToUpdate Selected = " + logoToUpdate