问题描述
我正在通过winforms在Ironpython 2.7中创建一个接口。
我想创建两个comboBoxex,第二个必须依赖第一个。这意味着如果我在第一个组合中具有值“ Default”,则数据源必须在第二个组合框中为[3,4]
,否则为[1,2]
。
我已经用if
和else
进行了尝试,但是它不起作用,因为第二个组合框中始终有相同的数据源
有什么想法可以解决这个问题吗?
import clr
clr.AddReference("System.Windows.Forms")
clr.AddReference("System.Drawing")
import System
from System.Windows.Forms import *
from System.Drawing import *
# Create a class form
class CreateWindow(Form):
def __init__(self):
#Create the form_
self.Name = "Daniel Alejandre Pérez | BIM Nodes"
self.Text = "Daniel Alejandre Pérez | BIM Nodes"
self.Size = Size(500,400)
self.CenterToScreen()
self.values = []
#Create label for ComboBox1
labelComboBox1 = Label(Text = "Selecciona el tipo de tubería")
labelComboBox1.Parent = self
labelComboBox1.Location = Point(30,20)
labelComboBox1.Width = 150
#ComboBox
self.ComboBox1 = ComboBox()
self.ComboBox1.Parent = self
self.ComboBox1.DataSource = ["Default","IBV Geberit Mepla ML_TW","IBV_Geberit PE-HD_GL+RW","IBV_Geberit Silent-PP_SW","IBV_Mapress St-Steel_HZ","Stahl Nahtlos"]
self.ComboBox1.Location = Point(200,20)
self.ComboBox1.Width = 200
#Create labe for sheet number
labelSheetNumber = Label(Text = "Selecciona el diámetro de la tubería")
labelSheetNumber.Parent = self
labelSheetNumber.Location = Point(30,50)
labelSheetNumber.Width = 200
#Create TextBox for Sheet Number
self.textBoxSheetNumber = TextBox()
self.textBoxSheetNumber.Parent = self
self.textBoxSheetNumber.Text = ""
self.textBoxSheetNumber.Location = Point(250,50)
self.textBoxSheetNumber.Width = 150
#Create label for sheet name
labelPowered = Label(Text = "v0.1 09/10/2020 | Powered by BIM Nodes")
labelPowered.Parent = self
labelPowered.Location = Point(195,120)
labelPowered.Width = 400
self.ComboBox2 = ComboBox()
self.ComboBox2.Parent = self
if self.ComboBox1.Text=="Default":
self.ComboBox2.DataSource = ["3","4"]
else:
self.ComboBox2.DataSource = ["1","2"]
self.ComboBox2.Location = Point(30,200)
self.ComboBox2.Width = 200
#Create button
button = Button()
button.Parent = self
button.Text = "Ok"
button.Location = Point(325,90)
#Register Event
button.Click += self.ButtonClicked
def ButtonClicked(self,sender,args):
if sender.Click:
self.values.append(self.textBoxSheetNumber.Text)
self.values.append(self.ComboBox1.Text)
self.Close()
if IN[0]:
form = CreateWindow()
Application.Run(form)
OUT = form.values
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)