这是我的代码(main.py):
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from test import *
import socket
sock = socket.socket()
class MyWin(QtWidgets.QMainWindow):
def __init__(self, parent=None):
QtWidgets.QWidget.__init__(self, parent)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.ui.otpravit.clicked.connect(self.otpravit_naz)
def mbox(self, body, title='Error'):
dialog = QMessageBox(QMessageBox.Information, title, body)
dialog.exec_()
def otpravit_naz(self):
print("1")
textboxValue = self.textEdit.text()
print(textboxValue)
#sock.connect(('192.168.1.16', 9090))
sock.connect(("192.168.1.45", 9090))
sock.send(b'textboxValue')
sock.close()
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
myapp = MyWin()
myapp.show()
sys.exit(app.exec_())
和ui形式:from PyQt5 import QtCore, QtGui, QtWidgets class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(517, 283) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.verticalLayoutWidget = QtWidgets.QWidget(self.centralwidget) self.verticalLayoutWidget.setGeometry(QtCore.QRect(60, 20, 421, 201)) self.verticalLayoutWidget.setObjectName("verticalLayoutWidget") self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget) self.verticalLayout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setSpacing(23) self.verticalLayout.setObjectName("verticalLayout") self.textEdit = QtWidgets.QTextEdit(self.verticalLayoutWidget) self.textEdit.setObjectName("textEdit") self.verticalLayout.addWidget(self.textEdit) self.label = QtWidgets.QLabel(self.verticalLayoutWidget) self.label.setLineWidth(0) self.label.setMidLineWidth(0) self.label.setAlignment(QtCore.Qt.AlignCenter) self.label.setObjectName("label") self.verticalLayout.addWidget(self.label) self.list = QtWidgets.QComboBox(self.verticalLayoutWidget) self.list.setObjectName("list") self.list.addItem("") self.list.addItem("") self.list.addItem("") self.verticalLayout.addWidget(self.list) self.otpravit = QtWidgets.QPushButton(self.verticalLayoutWidget) self.otpravit.setObjectName("otpravit") self.verticalLayout.addWidget(self.otpravit) self.verticalLayout.setStretch(0, 20) self.verticalLayout.setStretch(1, 20) self.verticalLayout.setStretch(2, 20) self.verticalLayout.setStretch(3, 20) MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 517, 21)) 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.label.setText(_translate("MainWindow", "Предмет:")) self.list.setItemText(0, _translate("MainWindow", "Русский")) self.list.setItemText(1, _translate("MainWindow", "Литература")) self.list.setItemText(2, _translate("MainWindow", "Английский")) self.otpravit.setText(_translate("MainWindow", "Отправить")) if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) MainWindow = QtWidgets.QMainWindow() ui = Ui_MainWindow() ui.setupUi(MainWindow) MainWindow.show() sys.exit(app.exec_())
如果它是非常愚蠢的高音,请不要踢我
self.ui
对象上“安装” GUI,因此ui上的每个小部件实际上都可以作为self.ui.someWidget
进行访问。而且,QTextEdit没有text()
属性,但是toPlainText()
:
toPlainText()
我建议您从不编辑用
def otpravit_naz(self): print("1") textboxValue = self.ui.textEdit.toPlainText() print(textboxValue)
生成的文件,但始终将它们用作导入的模块;阅读更多关于pyuic
的信息;另外,请注意在主窗口小部件上而不是在其子窗口上设置主布局,并将所有内容添加到该布局中,否则,每当调整窗口大小时,子窗口小部件都可能被隐藏。