当选中不同的下拉框/列表框项目时显示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))
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的例子。