qq_43412960 2019-11-30 15:46 采纳率: 78.6%
浏览 334
已采纳

这是一个关于 PYTHON 的PYQT5的相关问题

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(800, 600)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(340, 430, 75, 23))
        self.pushButton.setObjectName("pushButton")
        self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_2.setGeometry(QtCore.QRect(510, 430, 75, 23))
        self.pushButton_2.setObjectName("pushButton_2")
        self.textEdit = QtWidgets.QTextEdit(self.centralwidget)
        self.textEdit.setGeometry(QtCore.QRect(280, 200, 411, 161))
        self.textEdit.setObjectName("textEdit")
        self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit.setGeometry(QtCore.QRect(210, 90, 113, 20))
        self.lineEdit.setObjectName("lineEdit")
        self.lineEdit_2 = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit_2.setGeometry(QtCore.QRect(410, 90, 113, 20))
        self.lineEdit_2.setObjectName("lineEdit_2")
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(80, 90, 54, 12))
        self.label.setObjectName("label")
        self.pushButton_3 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_3.setGeometry(QtCore.QRect(600, 100, 75, 23))
        self.pushButton_3.setObjectName("pushButton_3")
        self.lineEdit_3 = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit_3.setGeometry(QtCore.QRect(190, 430, 113, 20))
        self.lineEdit_3.setObjectName("lineEdit_3")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 23))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.pushButton.setText(_translate("MainWindow", "发送"))
        self.pushButton_2.setText(_translate("MainWindow", "关闭"))
        self.label.setText(_translate("MainWindow", "服务器"))
        self.pushButton_3.setText(_translate("MainWindow", "连接"))
import sys
from PyQt5 import QtWidgets
import untitled
import   socket
class Mywindow(QtWidgets.QMainWindow, untitled.Ui_MainWindow):
    quest=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    def __init__(self):
        super(Mywindow, self).__init__()
        self.setupUi(self)  #继承于Ui_MainWindow
        self.pushButton_3.clicked.connect(self.lianjie)
        self.pushButton.clicked.connect(self.xiaoxi)
    def  lianjie(self):
        self.quest.connect((self.lineEdit.Text(),int(self.lineEdit_2.Text())))
    def  xiaoxi(self):
        self.quest.send(self.lineEdit_3.Text().encode())
        a=self.quest.recv(100).decode()
        self.textEdit.setText(a)
        self.quest.close()
if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    window = Mywindow()
    window.show()
    sys.exit(app.exec_())

上面是客户机代码 ,代码和PYQT5联系在一起了

下面是服务器代码,没有和窗体联系在一起

import   socket
service=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
service.bind(('127.0.0.1',6))
service.listen(3)
tao,add=service.accept()
data=tao.recv(100).decode()
tao.send(data.encode())
tao.close()
service.close()

为什么我打开客户机,连接按钮 ,系统退出,产生错误呢?

  • 写回答

1条回答 默认 最新

  • dabocaiqq 2019-11-30 18:39
    关注

    把网络通讯的代码注释掉,看看是否有错误,如果有错误,就是qt这里没有写对。
    否则就是网络问题,用你之前的代码,如果不可以,就是环境的问题,否则代码的问题

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥500 亚马逊 COOKIE我如何才能实现 登录一个亚马逊账户 下发新 COOKIE ..我使用下发新COOKIE 导入ADS 指纹浏览器登录,我把账户密码 修改过后,原来下发新COOKIE 不会失效的方式
  • ¥20 玩游戏gpu和cpu利用率特别低,玩游戏卡顿
  • ¥25 oracle中的正则匹配
  • ¥15 关于#vscode#的问题:把软件卸载不会再出现蓝屏
  • ¥15 vimplus出现的错误
  • ¥15 usb无线网卡转typec口
  • ¥30 怎么使用AVL fire ESE软件自带的优化模式来优化设计Soot和NOx?
  • ¥15 Ubuntu20.04.4.LTS系统如何下载安装VirtualBox虚拟机?
  • ¥15 如何用QDomDocument读取内容为空格的xml数据
  • ¥15 请阅读下面代码,帮我修改下代码