我开始为终端启用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中没有做任何事情。我该如何解决这个问题?
答案 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