class MainWindow(QtGui.QMainWindow, Ui_MainWindow): def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.setupUi(self) self.actionConnect.triggered.connect(self.open_connect_window) self.actionExit.triggered.connect(self.close) self.send_btn.clicked.connect(self.send_message) self.chat_input.returnPressed.connect(self.send_message) self.connect_window = None self.irc = Client() self.read_thread = self.irc.read_thread self.read_thread.new_message_signal.connect(self.add_new_message) def open_connect_window(self): if not self.connect_window: self.connect_window = ConnectWindow() self.connect_window.show() def add_new_message(self, message): message = unicode(message) message_dict = self.irc.handle_message(message) prefix = message_dict["prefix"] command = message_dict["command"] parameters = message_dict["parameters"] if command == "PRIVMSG": user = prefix.split("!")[0] print parameters[0] self.channel_output.append("<b>{user}</b>: {text}".format( user=user, text=parameters[1])) else: self.server_output.append(message) def send_message(self): text = unicode(self.chat_input.text()) if text: self.irc.send("PRIVMSG #testtesttest :" + text) self.chat_input.setText("") self.chat_input.setFocus() def closeEvent(self, event): if self.irc.connected: self.irc.disconnect()