没有从功能接收信息

时间:2015-11-02 22:30:00

标签: python

我开始为终端启用tcp聊天程序,最后设计了一个gui。这是gui文件中的一个函数:

 def on_connect_clicked(self):
    x = 1
    print x
    return x

或者我试过自己:

 def on_connect_clicked(self):
    self.x = 1
    print self.x
    return self.x

在我的第二个档案中

 class main(QtGui.QMainWindow, Ui_MainWindow):
 def __init__(self, parent=None):
     Ui_MainWindow.__init__(self)
     QtGui.QWidget.__init__(self, parent)
     self.setupUi(self)
     self.ip = self.lineEdit.text()
     self.port = self.lineEdit_2.text()





s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.settimeout(2)



if __name__ == "__main__":
    import sys
    app = QtGui.QApplication(sys.argv)
    myapp = main()
    myapp.show()
    print main().x
    if main().x == 1:
        try :
            s.connect((main.ip, main.port))
            print 'connected'
            main().x = 0
        except :
            print 'Unable to connect'
            main().x = 0


    sys.exit(app.exec_())

但问题是它将x设置为1但它没有看到它并且它在if中没有做任何事情。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

每次都不要创建main的新实例。使用你已经拥有的当前版本

myapp.show()
print myapp.x
if myapp.x == 1:
    try :
        s.connect((myapp.ip, myapp.port))
        print 'connected'
        myapp.x = 0
    except :
        print 'Unable to connect'
        myapp.x = 0