选择不同的组合框/列表框项时显示QMessageBox PyQT

时间:2009-08-21 15:17:52

标签: python pyqt

我有一个组合框cbLayer和一个以下形式的函数do_stuff

def do_stuff(item_selected_from_cbLayer):
    new_list = []
    # do stuff based on item_selected_from_combobox and put the items in new_list
    return new_list

如果以下列形式选择了不同的项目,我怎样才能弹出QMessageBox

QMessageBox.warning(self, "items: ", do_stuff(cb_selected_item))

1 个答案:

答案 0 :(得分:1)

编写包含此代码的方法或函数,并将其附加到组合框信号currentIndexChanged

def __init__(self):
    ...
    QObject.connect(self.cbLayer, SIGNAL("currentIndexChanged(int)"), self.warn)

def warn(index):
    QMessageBox.warning(self, "items: ", do_stuff(cbLayer.itemData(index)) )

def do_stuff(self, item):
    QMessageBox.warning(self, str(item))

我没有尝试这个,但它应该让你开始。否则看一下PyQt的例子。