Форум сайта python.su
Не выходит записать в переменную текст из QLineEdit и связать сохранение с нажатием кнопки.
вот часть кода
class Ui_Search(object): def setupUi2(sear, Searcher): Searcher.setWindowTitle(_translate("MyForm", "Form", None)) Searcher.resize(400, 300) sear.button=QtGui.QPushButton(Searcher) sear.button.setText(_translate("MyForm", "OK", None)) sear.button.move(20,10) sear.label1=QtGui.QLineEdit(Searcher) sear.label1.setGeometry(QtCore.QRect(20, 35, 350, 25)) sear.button.clicked.connect(sear.label1.text) sear.label1.text() sear.label1.setText("") sear.connect(sear.label1, QtCore.SIGNAL('textChanged()'), sear.button)
Отредактировано greysand (Июнь 2, 2017 17:40:41)
Офлайн
в какую переменну вы хотите записать текст? в общем виде это выглядит так
variable = sear.label1.text()
..... sear.button.clicked.connect(sear.copy) # все что ниже лишнее в данном случае # sear.label1.text() # sear.label1.setText("") # sear.connect(sear.label1, QtCore.SIGNAL('textChanged()'), sear.button) def copy(sear): sear.label1Text = sear.label1.text()
[code python][/code]
Офлайн
Если использовать
PEHDOMто, что вы предложили, то выдает ошибку
в общем виде это выглядит так
sear.button.clicked.connect(sear.copy) AttributeError: 'Ui_Search' object has no attribute 'copy'
variable = sear.label1.text() AttributeError: 'bool' object has no attribute 'label1'
Отредактировано greysand (Июнь 3, 2017 09:50:22)
Офлайн
Вот примитивный рабочий пример, все работает:
import sys from PyQt4 import QtGui, QtCore class MainWindow(QtGui.QWidget): def __init__(self, parent = None): super().__init__(parent) self.lineEdit = QtGui.QLineEdit() self.button = QtGui.QPushButton('Copy') self.mainLayout = QtGui.QVBoxLayout() self.mainLayout.addWidget(self.lineEdit) self.mainLayout.addWidget(self.button) self.setLayout(self.mainLayout) self.button.clicked.connect(self.copy) self.show() def copy(self): text = self.lineEdit.text() print('text=', text) app = QtGui.QApplication(sys.argv) mainWin=MainWindow() sys.exit(app.exec_())
[code python][/code]
Офлайн