Найти - Пользователи
Полная версия: Запись текста из QLineEdit в переменную pyqt4
Начало » GUI » Запись текста из QLineEdit в переменную pyqt4
1
greysand
Не выходит записать в переменную текст из 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)
PEHDOM
в какую переменну вы хотите записать текст? в общем виде это выглядит так
 variable = sear.label1.text()
соотвественно еcли вы хотите чтобы текст копировался по клику кнопки то код будет такой
 .....
    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()
greysand
Если использовать
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'
PEHDOM
Вот примитивный рабочий пример, все работает:
 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_())
А что у вас там за содомия твориться в коде , так это нужно видеть весь код, а не вырваный из контекста кусок.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB