0

我有一个组合框cbLayerdo_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))
4

1 回答 1

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 示例。

于 2009-08-21T15:50:35.840 回答