哈希表在QT中的应用举例

哈希表在QT中的应用举例

为了解决这个问题,需要用到哈希表,用到QHash类。 实现过程如下:1)首先,需要在界面类中,引入头文件.#includeQHash2)在类中加入一个私有成员:QHashQString,ChatDialog*chatFormHash;3)做信号和槽的关联QObject::connect(ui-listWidget,SIGNAL(itemDoubleClicked(QListWidgetItem*)),this,SLOT(newWindow()));4)实现newWindow()函数QStringid=ui-listWidget-currentItem()-text();ChatDialog*dialog;if((id)){dialog=(id);}else{dialog=newChatDialog(id,this);(id,dialog);}dialog-show();列表框中的列表项字符串,作为哈希表中的key值,聊天窗口的地址做为哈希表的value.当哈希表中没有某个key时,创建一个新窗口。 当第二次,双击同一个列表项时,直接从哈希表中查找窗口的地址即可,不需要再次创建,就解决了上面的问题。 界面如下:。