У меня есть код выше ... Мне нужно, чтобы добавить returnPressed()
события в send_box QLineEdit()
, но я получаю ошибку ниже:ошибка события PyQt returnPressed в PyQt5
self.send_box.returnPressed.connect(self.sendData) AttributeError: 'myApp' object has no attribute 'send_box'
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QLineEdit, QFileDialog, QInputDialog, QFileDialog
from PyQt5.QtGui import QIcon
from PyQt5.Qt import QPushButton, QTextEdit
class myApp (QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(200,100,400,580)
self.setWindowTitle('My Application')
self.setWindowIcon(QIcon('icon.png'))
main_text = QTextEdit(self)
send_box = QLineEdit(self)
# ReturnedPressed Event code here
self.send_box.returnPressed.connect(self.sendData)
connect_btn = QPushButton('Connect', self)
browse_btn = QPushButton('Browse', self)
ip_add_box = QLineEdit(self)
port_box = QLineEdit(self)
main_text.setGeometry(25, 30, 360, 350)
send_box.setGeometry(25, 400, 360, 60)
ip_add_box.setGeometry(25, 530, 150, 30)
port_box.setGeometry(180, 530, 90,30)
connect_btn.setGeometry(25, 500, 70, 25)
browse_btn.setGeometry(100,500,70,25)
self.show()
def sendData(self):
self.main_text.append(self.send_box.text())
self.send_box.clear()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = myApp()
sys.exit(app.exec_())
Спасибо человеку. Я исправил это раньше, и это сработало. Хотя мне по-прежнему нужна помощь в программировании сокетов pyqt5 ... Я могу создать сокет между двумя ПК с помощью консоли python, но не знаю, как PyQt5 – Sabawoon
@Sabawoon. Если вы уже решили проблему, опубликуйте сообщение с помощью решения – eyllanesc
Я довольно новичок в stackoverflow, и я просто прокомментировал выше вас ... я не знал, что могу ответить или опубликовать свой ответ сам. – Sabawoon