我正在使用QGIS插件构建器模板创建QGIS插件。
def __init__(self, iface):
#some code
self.dlg = QtGui.QDialog();
main_layout = QtGui.QVBoxLayout()
city = QtGui.QComboBox()
city.addItem("Tucson")
city.addItem("Austin")
city_label = QtGui.QLabel("City", city)
buttons = QDialogButtonBox(
QDialogButtonBox.Ok | QDialogButtonBox.Cancel,
Qt.Horizontal, self.dlg)
buttons.accepted.connect(self.dlg.accept)
buttons.rejected.connect(self.dlg.reject)
main_layout.addWidget(city)
self.dlg.setLayout(main_layout)
def run(self):
self.dlg.show()
result = self.dlg.exec_()
if result:
selected_city = city.currentText()
print selected_city
pass
我收到错误消息,因为无法识别“城市”。每当用户更改值时,如何在QTComboBox中获取所选值?有没有更简单的方法来创建UI?我基本上只需要在每次用户选择不同的值时更新城市(和其他一些)信息,并每5分钟更改一次组合框中的选项。
答案 0 :(得分:0)
你说的城市'你应该说'self.city'以便城市附着在物体上。然后,您可以将其文本作为' self.city.current Text()'。