当选择了不同的组合框/列表框项目显示QMessageBox 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))
解决方案
收件包含此代码的方法或函数并将其附加到组合框信号 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的实施例。
不隶属于 StackOverflow