1

Button Press イベントと Relase イベントで 2 つの関数を呼び出そうとしています。これらのイベントなしで (コード内で直接) 同じ関数を呼び出すと、目的の出力が得られません。

「接続ボタン」をクリックすると:

  • On Button Press Event -> Call Function connect (これにより、クライアントとサーバー間の接続が作成されます)
  • On Button Release Event -> Call Function Send Details (クライアントからサーバーにデータを送信します)

print コマンドを使用してプログラムの流れを確認したところ、問題が発生していることがわかりましたconnection.transport.write(data)

def on_connectCLB_pressed(self):
    Connect()

def on_connectCLB_released(self):
    Send_Details()


def Send_Details():
    print "Send_Details"
    global connection,chat
    contents="contents"
    if (USER!=''):
        stat="Available"
        data="user_details>>:"+USER +">>:"+stat+">>:"+contents
        connection.transport.write(data)
    else:
        GUI.setStatusTip(QtGui.QApplication.translate("MainWindows", 'Enter your username.', None, QtGui.QApplication.UnicodeUTF8))

def Connect():
    print "Connect"
    global connection
    connection=reactor.connectTCP(HOST,int(PORT) , EchoClientFactory()) ##listenTCP and connectTCP,to set defaults for all connections coming from that accept() or connect()
4

0 に答える 0