【发布时间】:2013-11-06 07:24:24
【问题描述】:
我正在为一个 CFD 可视化程序编写一个脚本,该程序有一个与 python 的接口。 我创建了一个通用对话框,用户可以在其中输入一些值。现在我想在输入为假时重复该对话框(这只是意味着一个变量大于另一个):
items = []
items.append(['text',ITEM_TEXT,"Automatically save the evaluation in data file(s)\n",""])
items.append(['text',ITEM_TEXT,"Determine the range of timesteps that you want to save:",""])
items.append(['step_begin',ITEM_INT,"Start timestep:","Start timestep",first_step,first_step,timesteps])
items.append(['step_end',ITEM_INT,"End timestep:","End timestep",timesteps,first_step,timesteps])
a = CeiQtGenericDialog(items,None,"Save evaluation","Ok","Cancel")
ret = a.doit()
if (ret > 0):
for i in a.getValues():
if (i=='step_begin'):
begin = a.getValue(i)
if (i=='step_end'):
end = a.getValue(i)
if (begin > end):
items2 = []
items2.append(['text',ITEM_TEXT,"Start timestep must be smaller than end timestep!!",""])
a = CeiQtGenericDialog(items2,None,"Error","Ok","Cancel")
ret = a.doit()
if (ret > 0):
????
在a.getValues() 之前存储了通用对话框的值。如果我想跳回之前的通用对话框,现在最后。换句话说,我想从某一行开始重复代码,这样用户就可以在之前的通用对话框中重复输入“step_begin”和“step_end”,这怎么可能?
编辑/ 如果用户在通用对话框中单击“确定”,则 ret 得到值 1 如果用户单击“取消”,则 ret 得到值 0
【问题讨论】:
-
请正确缩进您的代码。
-
对不起,我是 python 新手......但我认为标识是正确的,至少 python 运行代码直到最后一个 if 语句
-
您不想一直要求用户输入直到值有效吗?
-
我认为
a.getValue是用户输入的地方。 -
不抱歉,这可能解释得不好! a.getValues() 之前获取通用对话框的值并将它们提供给我的下一个函数、循环或其他任何东西