PyQT5 QComboBox - get value of combobox

2020-03-04 20:34发布

I am still very new to Qt but I am developing a type of calculator and want to use a combobox to select a coefficient. I have had success creating a combobox with a liststore in pyGT but it appears pyQT is quite different.

I am having a hard time wrapping my head around the data models and list models. Essentially I want to have a name show up in the combobox and have the value of that name get passed to the calculator equation. Everything I have seen so far has been just for single entries and not 'associated' entries.

Can anyone explain or point me to a tutorial to walk me through what I am trying to accomplish?

1条回答
可以哭但决不认输i
2楼-- · 2020-03-04 21:30

You can use addItem to add a name (text) with an associated value (data):

    self.combo.addItem('Foo', 23)
    self.combo.addItem('Bar', 42)

A slot can be connected to the activated signal of the combo box, which will send the index of the item selected by the user:

    self.combo.activated.connect(self.handleActivated)

You can then use itemText and itemData to access the name and value via the index parameter:

    def handleActivated(self, index):
        print(self.combo.itemText(index))
        print(self.combo.itemData(index))
查看更多
登录 后发表回答