我对编码非常陌生,并且刚学习Python 3和PyQt5已有几天。我现在为我的朋友编写一个小编,他的工作必须填写很长的表格。我希望小编为他写一段大段文字,只让他输入所需的数据。
一切都运行良好,我没有任何问题,但是现在我只花了几个小时就无法获取如何将QLineEdit-piece转换为字符串类型的数据。
这是我的代码的一部分。
from PyQt5 import QtWidgets, QtCore
import sys
app = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QWidget()
window.setWindowTitle("Fill-in-form")
window.resize(600, 600)
btnQuit = QtWidgets.QPushButton("Close the window")
label_a = QtWidgets.QLabel("Enter the driver's name")
label_a_a = QtWidgets.QLabel("Name:")
lineEdit_a_a = QtWidgets.QLineEdit()
str_1 = str(lineEdit_a_a) # here is the problem! the varible str_1 just wouldn't get the str-function.
set_5 = "kg, to the driver "
main_body = (set_5+str_1) # accordingly, this doesn't make sense...
class MyClass(QtCore.QObject):
def __init__(self):
QtCore.QObject.__init__(self)
@QtCore.pyqtSlot()
def on_clicked(self):
print(main_body) # ... and I don't get printed what I need.
obj = MyClass()
btnCreateText = QtWidgets.QPushButton("Create text")
btnCreateText.clicked.connect(obj.on_clicked)
vbox = QtWidgets.QVBoxLayout()
vbox.addWidget(label_a)
vbox.addWidget(label_a_a)
vbox.addWidget(lineEdit_a_a)
vbox.addWidget(btnCreateText)
vbox.addWidget(btnQuit)
window.setLayout(vbox)
btnQuit.clicked.connect(app.quit)
window.show()
sys.exit(app.exec_())
我决定不发布整个代码,因为它很长。但是,从这段代码中,您很可能会理解我在做错什么。