Я пытаюсь создать простой интерфейс с помощью Pyside, который будет принимать и записывать текст в файл csv.Выполнение ввода из QLineEdit и QTextEdit и преобразование в строку
Код, указанный ниже, не содержит сообщение об ошибке, но он будет записывать в файл csv такие вещи, как «PySide.QtGui.QLineEdit object at 0x03A534B8». Я пытался выяснить, как установить их как строки, но я застрял (у меня есть минимальный опыт работы с python и pyside). Что я делаю не так?
import sys
from PySide import QtGui, QtCore
import csv
class Form(QtGui.QWidget):
\t def __init__(self):
\t \t super(Form, self).__init__()
\t \t self.initUI()
\t def initUI(self):
\t \t
\t \t global itemText
\t \t global descText
\t \t
\t \t item = QtGui.QLabel('Item')
\t \t itemEdit = QtGui.QLineEdit()
\t \t itemText = str(itemEdit)
\t \t desc = QtGui.QLabel('Description (optional)')
\t \t descEdit = QtGui.QTextEdit()
\t \t descText = str(descEdit)
\t \t add = QtGui.QPushButton("Add item")
\t \t grid = QtGui.QGridLayout()
\t \t grid.setSpacing(10)
\t \t grid.addWidget(item, 1, 0)
\t \t grid.addWidget(itemEdit, 1, 1)
\t \t grid.addWidget(desc, 2, 0)
\t \t grid.addWidget(descEdit, 2, 1, 3, 1)
\t \t grid.addWidget(add, 6, 1)
\t \t add.clicked.connect(self.writeFile)
\t \t self.setLayout(grid)
\t \t self.setGeometry(300, 300, 350, 300)
\t \t self.setWindowTitle("Add to list")
\t \t self.show()
\t def writeFile(self):
\t \t csvfile = open('list.csv', 'ab')
\t \t csvwriter = csv.writer(csvfile)
\t \t csvwriter.writerow([itemText, descText])
\t \t print itemText
def main():
\t app = QtGui.QApplication(sys.argv)
\t ex = Form()
\t sys.exit(app.exec_())
if __name__ == '__main__':
\t main()
Это не работа, к сожалению. Вместо «... object at ...» он просто пишет пустые ячейки. –