如何获得ComboBox的价值?

时间:2015-03-06 18:38:25

标签: python qt pyqt qt-designer

我正在使用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分钟更改一次组合框中的选项。

1 个答案:

答案 0 :(得分:0)

你说的城市'你应该说'self.city'以便城市附着在物体上。然后,您可以将其文本作为' self.city.current Text()'。