for lyr in QgsMapLayerRegistry.instance().mapLayers().values():
if lyr.name() == "us_city_pop_gt_10k_albersaea":
layer = lyr
self.dlg.Statecombo.clear()
else:
QMessageBox.warning(self.dlg, "Layer Name","Load us_city_pop_gt_10k_albersaea layer and try again")
我正在给出条件,如果存在图层名称,请执行此操作,否则会发出警告消息。但它显示错误"无效语法"。请帮我搞清楚。谢谢。
答案 0 :(得分:2)
您不能只有另一个声明拆分条件语句的if
和else
。您有缩进错误且self.dlg.Statecombo.clear()
意图在if
语句中,或者您必须移动该语句,因为它正在结束您的if
语句并导致{{1}没有意义。