2017-10-11 7 views
0

私はPyQt5を使用しています。私は、HTMLコンボボックスのようにQComboBoxの各項目に値を割り当てたいと思います。Pyqt ComboboxのようなHTML

私は選択したアイテムやインデックスを取得できますが、値を取得したいと思います。

HTML例えば:

<select> 
    <option value="0.18">Name 1</option> 
    <option value="0.36">Name 2</option> 
    <option value="0.40">Name 3</option> 
    <option value="0.43">Name 4</option> 
</select> 

それはこのような何かをすることは可能ですか?

答えて

1

あなたはのuserDataを使用してこの操作を行うと、ここでの実施例

from PyQt4 import QtGui, QtCore 
import sys 


class Example(QtGui.QWidget): 
    def __init__(self): 
     super(Example, self).__init__() 
     self.initUI() 

    def initUI(self): 
     self.btn = QtGui.QComboBox(self) 
     dataToAdd = {"Name 1" : 0.18, "Name 2" : 0.36, "Name 3" : 0.41, "Name 4" : 0.43,} 
     self.btn.addItem("Select") 
     for eachItem in dataToAdd: 
      val = dataToAdd[eachItem] 
      self.btn.addItem(eachItem, userData=QtCore.QVariant(str(val))) 
     self.btn.move(20, 20) 
     self.setGeometry(300, 300, 290, 150) 
     self.btn.currentIndexChanged.connect(self.foo) 
     self.show() 

    def foo(self, value): 
     itemValue = self.btn.itemData(value).toString() 
     itemText = self.btn.itemText(value) 
     print itemValue, "====", itemText 

def main(): 
    app = QtGui.QApplication(sys.argv) 
    ex = Example() 
    sys.exit(app.exec_()) 

if __name__ == '__main__': 
    main() 

であることができますドキュメントの詳細http://pyqt.sourceforge.net/Docs/PyQt4/qcombobox.html#addItem

用をご確認ください
関連する問題